Jawaban:
Selalu ada cara yang lebih baik untuk menulis kode Anda.
Tidak peduli seberapa baik Anda menemukan kode yang Anda tulis, Anda akan terkejut betapa buruknya jika Anda meninjaunya dalam beberapa tahun. Hanya karena beberapa tahun sebelumnya, Anda tidak mengetahui beberapa pola yang Anda kenal hari ini, atau beberapa fitur bahasa yang telah Anda pelajari sementara itu, dll.
Pikirkan sebelum Anda mulai coding.
Tidak ada yang lebih permanen daripada solusi sementara :)
Jika sangat sulit untuk menyelesaikan suatu masalah, kemungkinan besar masalah itu sendiri telah ditimbulkan sejak awal.
Perangkat lunak Anda akan hidup jauh lebih lama daripada yang Anda pikirkan pada saat Anda menulisnya.
Saya memulai karir saya di tahun 80-an. Saya mulai menggunakan perangkat lunak yang berasal dari tahun 70-an dan masih digunakan pada tahun 90-an (mungkin lebih lama, saya tidak tahu pasti nasibnya). Beberapa kode open source saya sendiri setengah jalan melalui dekade kedua.
Bekerja dengan baik dengan orang lain sangat penting.
"Tunjukkan padaku 'Pergi ke cowok' dan aku akan menunjukkan padamu masalahmu"
Slapdash Hero Coders - mereka yang hanya membuat kode tanpa memperhatikan konvensi, keterbacaan, atau apa pun yang sedang dikerjakan orang lain - dapat menyebabkan lebih banyak kerugian daripada kebaikan.
Tidak mengatakan bahwa orang yang dapat menulis banyak kode berkualitas baik adalah hal yang buruk. Sangat jarang.
Belajar bahasa baru adalah bagian dari pekerjaan
Saya belajar tentang empat bahasa pemrograman di sekolah pada tahun 80-an tetapi telah menggunakan salah satu dari mereka dalam pekerjaan. Saya memiliki empat pekerjaan di mana saya bahkan tidak tahu bahasa yang saya gunakan.
Secara keseluruhan, saya telah belajar dan menggunakan secara profesional mungkin selusin bahasa dalam karier saya, termasuk FORTRAN, c, c ++, c #, java, perl, Tcl, ruby, groovy, awk, python, sh, batch, DCL, javascript, dan beberapa DSL kecil. Melakukan sedikit matematika, saya tampaknya rata-rata bahasa baru setiap beberapa tahun, meskipun ada banyak tumpang tindih.
Jika ada sesuatu yang konstan dalam karier saya, itu berubah.
Teruslah belajar setiap hari. Pengetahuan hari ini sudah usang besok.
Ironisnya, jawaban ini juga harus usang besok. Tapi sungguh, belajarlah keras satu atau dua hal dan disertifikasi jika memungkinkan, jadilah Tuhan dalam hal itu (mungkin bahasa pemrograman atau sistem / jaringan / administrasi basis data) dan selalu awasi hal-hal kecil lainnya, seperti bahasa lain tanpa penting untuk kamu.
Maksud saya misalnya, jadilah seorang profesional yang luar biasa dari administrasi Java dan Oracle DB, tetapi pelajari sedikit tentang Python, PHP, C ++, HTML5, Javascript, meskipun tidak ada pada tingkat sertifikasi. Pelajari setiap kerangka kerja web atau bahasa yang ada. Pelajari atau coba untuk mendapatkan pengalaman (dasar) dengan setiap basis data yang ada, seperti SQL Server, MySQL, Cassandra, HBase, PostgreSQL, dan seluruh dunia No-SQL seperti MongoDB dan CouchDB. Cobalah untuk memiliki pengalaman dengan administrasi dan virtualisasi linux.
Itu pelajaran terbesar yang saya pelajari dari 16 tahun pengalaman saya. Saya selama hampir 10 tahun seorang programmer mono-bahasa, menggunakan Pascal di masanya, dan Visual Basic 6 pada awal milenium, dan seorang pengembang PHP sejak 9 tahun yang lalu. Tapi sejak saat itu saya belajar bahwa pengembang perlu tahu setidaknya sedikit dari segalanya.
Saya telah belajar bahwa prinsip desain terbaik adalah CIUMAN (Tetap sederhana, Bodoh!) .
Saya telah belajar bahwa menjaga kode Anda sederhana dan bersih harus menjadi perhatian utama, dan setiap anggota tim harus memahami kode yang Anda miliki. The KISS principle
menyatakan bahwa sebagian besar sistem bekerja paling baik jika dibuat sederhana daripada dibuat rumit, oleh karena itu kesederhanaan harus menjadi tujuan utama dalam desain dan kompleksitas yang tidak perlu harus dihindari.
Tidak ada percobaan
Katakanlah Anda memiliki tugas atau banyak tugas yang diperkirakan memakan waktu 4 hari. Kemudian bos atau manajer proyek Anda bertanya apakah Anda dapat mencoba menyelesaikannya dalam dua hari karena beberapa alasan penting. Ingin menjadi karyawan yang baik dan fleksibel, Anda mungkin tergoda untuk mengatakan: tentu saja, Anda dapat mencoba. Kemungkinan hasil dari ini adalah bahwa Anda melewatkan tenggat waktu, atau Anda akan melakukan peretasan setengah-setengah untuk menyelesaikannya. Dan itu bukan kesalahan bos Anda karena meminta Anda melakukannya, itu tugasnya. Ini salah Anda karena tidak mengatakan tidak, yang merupakan pekerjaan Anda.
Anda tidak dapat menawar dengan waktu. Anda bisa tawar-menawar dengan ruang lingkup. Bersikaplah profesional dan jangan menjual diri Anda dengan singkat.
"Itu tidak akan pernah terjadi" sebenarnya berarti "Itu tidak akan pernah terjadi sampai hari pertama produksi"
Menulis kode itu mudah. Membaca kode itu sulit. Bahkan jika kodenya adalah milik Anda. Jadi, jika memungkinkan, gunakan pendekatan yang mudah dibaca.
Anda tidak lebih pintar dari yang lain. Jangan pernah berpikir bahwa pendekatan Anda adalah yang terbaik hanya karena itu milik Anda.
Perhatikan APA yang dikatakan, bukan OLEH SIAPA katanya. Ide-ide cemerlang mungkin datang untuk sumber yang paling tidak terduga.
Jangan malas. Luangkan waktu Anda untuk menulis kode yang bagus. Anda harus memperbaikinya dengan biaya lebih tinggi.
Jangan gunakan fitur OOP mewah hanya karena Anda bisa! - YAGNI (Anda tidak akan membutuhkannya)
Use fancy OOP features
karena mereka memiliki manfaat spesifik yang dapat ditunjukkan untuk masalah yang Anda coba selesaikan . Anda tertawa, tetapi saya melihat ini sepanjang waktu. Kebanyakan programmer tidak pernah bertemu objek yang tidak mereka sukai. Saya pikir itu harus sebaliknya: teknik ini bersalah sampai terbukti tidak bersalah di pengadilan KISS .