Apa poin utama dari Kode Lengkap? [Tutup]

72

Saya telah mendengar banyak orang menyebut Code Complete sebagai buku yang layak dibaca. Sayangnya, saya sangat sibuk sehingga saya tidak punya waktu untuk membacanya, jadi adakah yang bisa memberi tahu saya apa poin utama buku ini?

Casebash
sumber
49
Poin kunci dari halaman 824 dari Kode Lengkap 2 adalah Anda harus benar-benar membaca buku pemrograman!
azheglov
@azheglov: Apakah 2 ini seperti dalam edisi ke-2 atau 2 seperti pada Kode Lengkap 2 yang harus dibaca setelah Kode Lengkap?
Chris
@ Chris, hampir 4 tahun kemudian: 2 dalam edisi ke-2, direvisi dan diperbarui. Dan saya harap Anda telah membacanya sementara itu :-)
streppel

Jawaban:

83

Kode Lengkap adalah tentang pengerjaan perangkat lunak; ini adalah buku tingkat pemula-menengah / menengah, ditulis untuk programmer yang bekerja, tetapi masih akan sangat berguna bagi seseorang yang telah memprogram setidaknya satu tahun.

Dengan demikian poin kunci dari Kode Lengkap (edisi kedua) dirangkum dengan baik dalam Bab 34, Tema dalam Pengerjaan Perangkat Lunak. Seperti yang diparafrasekan dari catatan saya:

  1. Conquer Complexity : kurangi beban kognitif di pikiran Anda melalui disiplin, konvensi, dan abstraksi.
  2. Pilih Proses Anda : sadar akan kualitas dari awal (persyaratan) hingga selesai (penyebaran) dan seterusnya (pemeliharaan).
  3. Program Menulis untuk Orang Pertama, Komputer Kedua : keterbacaan kode sangat penting untuk kelengkapan, kemampuan peninjauan, tingkat kesalahan, koreksi kesalahan, kemampuan modifikasi, dan konsekuensi waktu pengembangan dan kualitas.
  4. Program ke dalam Bahasa Anda, Tidak di dalamnya : pikirkan Apa? dan mengapa? sebelum Bagaimana?
  5. Fokuskan Perhatian Anda dengan Bantuan Konvensi : konvensi mengelola kompleksitas dengan menyediakan struktur di mana diperlukan, sehingga sumber daya utama - perhatian Anda - dapat digunakan secara efektif.
  6. Program dalam Ketentuan Domain Masalah : bekerja pada level abstraksi tertinggi; kode tingkat atas harus menggambarkan masalah yang sedang dipecahkan. Bedakan level OS, level bahasa pemrograman, struktur implementasi level rendah, istilah domain masalah level rendah, dan akhirnya, istilah domain masalah tingkat tinggi yang akan masuk akal bagi pengguna (non-pembuat kode).
  7. Perhatikan Falling Rocks : saat pemrograman menggabungkan seni dan sains, penilaian yang baik sangat penting, termasuk mengindahkan tanda-tanda peringatan.
  8. Iterate, berulang-ulang, lagi dan lagi : iterate persyaratan, desain, perkiraan, kode, penyetelan kode.
  9. Anda Render Perangkat Lunak dan Asunder Agama : menjadi eklektik dan bersedia untuk bereksperimen. Jangan menjadi fanatik yang tidak fleksibel, itu menghalangi rasa ingin tahu dan pembelajaran. Lebih dari sekadar memiliki palu di kotak peralatan Anda.

Tetapi kesimpulan paling penting ada di Bab 33, Karakter Pribadi : begitu Anda secara sadar berusaha memperbaiki diri sebagai pembuat kode, Anda bisa dan mau. Cara tercepat untuk melakukannya adalah dengan mengambil sikap master coders (kerendahan hati, rasa ingin tahu, kejujuran intelektual, disiplin, kreativitas), sementara juga mempraktikkan kebiasaan mereka (banyak kebiasaan baik tercantum dalam buku, misalnya memilih variabel / nilai yang baik nama).

Juga, buku ini menjelaskan bahwa kesenjangan antara rata-rata dan sangat baik dalam perangkat lunak sangat besar ; fakta itu saja yang seharusnya mendorong pembuat kode yang berhati-hati untuk memperbaiki dirinya sendiri.

Itu adalah kekurangannya; versi panjang ada di buku. :) Saya juga dapat mengirimi Anda catatan saya yang tidak terlalu panjang, tidak terlalu pendek jika Anda menginginkan detail lebih lanjut. Tetapi buku itu tentu saja menghasilkan uang dan waktu yang dihabiskan dengan baik, meskipun gaya menulisnya kadang-kadang melelahkan.

Di luar Kode Lengkap, saya sangat merekomendasikan The Pragmatic Programmer . Ini untuk pemrogram tingkat menengah, yang ditulis dengan baik dan perpaduan saran tingkat tinggi, sedang, dan rendah.

limist
sumber
Apakah Anda yakin ini adalah buku tingkat menengah? Tampaknya cukup mendasar, dengan saran seperti "ingatlah untuk menghapus nama variabel yang tidak digunakan" - bagus untuk seseorang di tahun pertama atau kedua perguruan tinggi mungkin, tetapi tidak untuk tingkat menengah (IMO).
Colen
1
@Colen: terima kasih atas komentar Anda, saya seharusnya menentukan itu untuk coders tingkat lanjut-pemula / menengah.
limist
10
@Colen: Walaupun Code Complete berhubungan dengan beberapa topik sederhana yang digabungkan dengan yang kompleks, itu pasti bukan untuk pemula. Cukup banyak pengembang mana pun di tingkat mana pun yang bisa mendapat manfaat dari membacanya; Anda akan terkejut betapa sedikit pengembang "senior" benar-benar tahu tentang dasar-dasar, terutama jika mereka hanya pernah diprogram dalam satu bahasa atau bekerja untuk satu perusahaan sepanjang karier mereka.
Steve Hill
1
Kode IMO lengkap tidak perlu verbose - jadi pembeli berhati-hatilah!
BKSpurgeon
Ini adalah ringkasan tema yang bagus dalam buku ini. Bisakah Anda berbagi nota yang tidak terlalu lama dan tidak terlalu pendek?
Akshay Khot
18

Ini adalah buku perantara, potpourri praktik terbaik pengembangan perangkat lunak.

Jika Anda seorang programmer pemula, Anda tidak akan mengerti banyak materi, dan jika Anda berpengalaman, buku itu hanya akan mengkonfirmasi apa yang sudah Anda ketahui. Oleh karena itu, buku ini mungkin sangat bermanfaat bagi programmer tingkat menengah, yang sudah memiliki sedikit pengetahuan pemrograman, tetapi membutuhkan buku praktik terbaik untuk mengikat semuanya.

Beberapa halaman dihabiskan untuk bagaimana memformat blok kode, dan manfaat relatif dari setiap pendekatan. Secara pribadi, saya pikir perdebatan hebat tentang di mana menempatkan kurung kurawal Anda sudah berakhir. (atau itu?)

Robert Harvey
sumber
4
Tanda kurung Anda memberi Anda upvote. : p
Nathan Taylor
Di mana saya harus meletakkan kurung kurawal?
Petah