Pertama, sesuaikan gaya pengkodean saya: ruang putih. Dahulu, beberapa badut menulis artikel lelucon tentang praktik terbaik yang memberikan contoh kode dengan sekitar 12 tab ruang putih di mana pun dia bisa; membuat kode mustahil dibaca tanpa layar selebar 12 kaki atau dalam ukuran font .0001. Banyak programmer menganggap itu kredibel dan mulai melakukannya - meskipun itu jelas bukan praktik yang baik. Itu membuatku gila. Ayolah, kataku, kamu lebih pintar dari itu. 50% atau lebih ruang kosong pada halaman 240 kolom tidak masuk akal. Letakkan kurung kurawal pertama pada baris yang sama dengan fungsi atau tanda tangan kelas (dengan satu atau dua spasi, bukan satu atau dua tab di antaranya). Gunakan 3 spasi untuk membuat indentasi tingkat kode (5 jika Anda memiliki anggota tim yang sebagian buta). Kemudian gunakan baris kosong di sana-sini dalam kode untuk meletakkan segala sesuatu di blok logis yang lebih kecil.
Berikut ini contoh lain dari sesuatu yang berkepala tebal. Pertama-tama saya akan memberi tahu Anda ini tidak datang dari setengah akal yang tidak berpengalaman. Ada dalam kode yang sangat bagus oleh seorang pria yang bisa mendapatkan teknik yang sangat canggih bekerja sementara sebagian besar dunia masih menggaruk-garuk kepala mereka tentang hal itu. Inilah yang membuat saya frustasi. Mengapa pemrogram yang baik sangat berpikir tentang pemformatan kode mereka?
for (Iterator<Byte> iterator = collection.iterator(); iterator
.hasNext();) {
byteArray[i++] = iterator.next();
}
Sekarang lihat saja format untuk kondisi. Jika Anda benar-benar memikirkannya, bukankah itu tempat yang sama sekali tidak masuk akal untuk memutuskan hubungan? Pertama, saya punya banyak ruang untuk melihat keseluruhan untuk ... {pada satu baris. (Untungnya, orang ini tidak menggunakan banyak tab untuk indentasi.) Tetapi jika dia benar-benar tidak bisa hidup tanpa memecahnya, mengapa ada di tengah spec fungsi? Ada pembatas yang sangat baik tepat sebelum itu - titik koma - yang akan lebih masuk akal sebagai titik istirahat. Pilihan saya adalah meletakkan seluruh kondisi dan pembukaan {(sesuai dengan untuk) pada baris yang sama. Dia juga berakhir dengan baik - mudah untuk mencocokkan penjepit penutup dengan "untuk" yang dibuka. (Beberapa orang - dan alat (Apakah itu berlebihan?) - Ingin meletakkannya di tempat-tempat aneh juga.)
Kedua - catat fokus dari keahlian masing-masing programmer dan jika ada perbedaan yang signifikan, pastikan itu tercermin pada bagian kode mana setiap programmer bekerja. Seorang ahli dalam kontrol industri dalam robotika, seorang insinyur yang terutama bekerja pada bit matematika yang kompleks, dan pria dengan gelar CS yang membuat dirinya terkesan dengan konstruksi kode yang sama sekali tidak jelas (semakin kurang dimengerti, semakin canggih tampaknya, kan?) Semuanya akan menulis kode secara berbeda. Di mana ada perbedaan-perbedaan yang signifikan ini, pisahkan pekerjaan sehingga setiap kekuatan individu cocok dengan pekerjaan itu.
Ketika tidak ada perbedaan seperti itu, sepakati gaya pengkodean dan dalam hal apa pun - tinjauan kode, tinjauan kode, tinjauan kode. Sejujurnya, saya telah melalui banyak kode spaghetti ceroboh dalam hidup saya (12 kali di baris dalam debugging dan perubahan oleh kelompok pemeliharaan, atau hasil integrasi bermata ayam) dan sedang dalam perjalanan untuk menjadi seorang ahli kode setelah 2 menit berbicara dengan orang terakhir yang mengerjakannya. (Catatan: Sebenarnya, ada titik di mana lebih baik menulis ulang kode daripada terus beradaptasi.)
Secara pribadi, saya lebih suka bekerja di rumah sendiri juga. Saya belum pernah bertemu seorang programmer yang lebih suka atau bekerja lebih baik di sebuah kubus yang dikelilingi oleh banyak programmer, diskusi, dan interupsi. Tetapi Anda harus terbiasa bekerja dalam sebuah tim, dan itu berarti meluangkan waktu untuk berkumpul dan mendiskusikan (tidak melawan) apa yang Anda lakukan. Itu sebenarnya bagian dari pekerjaan - sebenarnya. Jauh lebih baik untuk menerimanya dan melakukannya secara sistematis, efisien, dan efektif. Dan sementara kita melakukannya - itu juga bagian dari pekerjaan untuk menghabiskan waktu mentransfer pengetahuan dan informasi kepada orang-orang yang menulis dokumentasi (beberapa di antaranya Anda mungkin perlu menulis sendiri). Dan ketika Anda cukup berpengalaman untuk meningkatkan tingkat tanggung jawab Anda, Anda bahkan mungkin lebih sering mengobrol dengan manajer dan orang-orang dalam pemasaran, dll.
Pengodean sendiri adalah hobi. Rekayasa perangkat lunak profesional adalah pekerjaan multi-faceted.