Mengomentari saat ini lebih mudah dari sebelumnya. Di Java, ada beberapa teknik yang bagus untuk menghubungkan komentar ke kelas, dan Java IDEs bagus dalam membuat shell komentar untuk Anda. Bahasa seperti Clojure bahkan memungkinkan Anda untuk menambahkan deskripsi fungsi dalam kode fungsi itu sendiri sebagai argumen.
Namun kami masih hidup di zaman di mana sering ada komentar usang atau buruk yang ditulis oleh pengembang yang baik - Saya tertarik untuk meningkatkan kekokohan dan kegunaan komentar saya.
Khususnya saya tertarik pada Java / Clojure / Python di sini, tetapi jawaban tidak perlu spesifik bahasa.
Apakah ada teknik baru yang memvalidasi komentar dan secara otomatis mendeteksi komentar "tipis" (misalnya komentar dengan angka ajaib, kalimat tidak lengkap, dll.) Atau komentar yang salah (misalnya, mendeteksi variabel yang salah eja atau sejenisnya).
Dan yang lebih penting: Apakah ada "kebijakan komentar" yang diterima atau strategi di luar sana? Ada banyak saran di luar sana tentang cara kode - tetapi bagaimana dengan "bagaimana berkomentar?"
Ini mungkin kontroversial, tetapi saran saya adalah menulis komentar BEBERAPA mungkin. Gunakan nama kelas yang bagus, jelas, nama variabel dan nama metode. Tulis kode Anda dengan cara yang paling jelas yang Anda bisa; dan menganggap ini sebagai atribut paling penting dari kode Anda (selain itu memenuhi persyaratannya). Hanya tulis komentar jika Anda telah membuat metode sejelas mungkin, dan Anda masih berpikir itu membutuhkan penjelasan lebih lanjut.
Dan memiliki praktik organisasi, bahwa setiap kali ada yang mengubah kelas dengan cara apa pun, mereka harus memastikan komentarnya masih benar.
sumber
if (a == b) then c();
dilakukan, tetapi jika saya tidak tahu mengapa ia melakukannya - saat itulah komentar harus digunakan :)Saya tidak yakin tentang bahasa lain, tetapi python memungkinkan Anda untuk menulis dokumen yang merupakan bentuk komentar validasi diri. Tentu saja, mereka tidak boleh digunakan sebagai pengganti pengujian unit nyata, tetapi merupakan metode cepat dan mudah untuk mendokumentasikan fungsi tertentu yang mungkin tidak sejelas yang seharusnya. Mereka datang dengan manfaat tambahan karena dapat melakukan tes komentar untuk memverifikasi bahwa komentar masih benar (setidaknya sebagian dari mereka yang berisi tes).
sumber
Salah satu lokasi yang paling otoritatif untuk menemukan cara menggunakan kode komentar untuk menghasilkan dokumentasi secara otomatis pasti adalah oksigen . Meskipun ada lebih banyak alat seperti itu dari saya.
Ini mendefinisikan standar penulisan komentar yang harus diikuti untuk secara otomatis menghasilkan dokumentasi. Namun, ini memberikan lebih banyak struktur tetapi tidak memvalidasi secara semantik; misalnya tidak dapat memeriksa apakah Anda telah menggunakan bahasa Inggris yang menyesatkan untuk menjelaskan tujuan suatu fungsi!
Sementara, ini adalah hal terbaik yang membuat komentar terstruktur, secara pribadi saya merasa ada lebih banyak dokumentasi yang diperlukan untuk membuat kode lebih mudah dikelola. Beberapa waktu lalu ada pertanyaan dalam P.SE Dapatkah kode menjadi dokumentasi dalam alat pengembang open source? Seberapa sering? Tentu saja, ini berlaku untuk proyek-proyek non-open-source juga.
Untuk membuat kode lebih dapat dipelihara - praktis lebih penting bahwa ada dokumentasi eksternal yang membantu membuat struktur cara memperlakukan kode, dan kemudian komentar di dalam kode harus dibatasi untuk melihat
Saya pikir, jika Anda ingin mendefinisikan kebijakan untuk penulisan komentar Anda harus memasukkan sebagai pendekatan holistik yang termasuk dalam standar pengkodean. Lihat ini: Apa yang bisa menjadi jebakan dalam memperkenalkan panduan gaya dan dokumentasi yang menghasilkan perangkat lunak dalam tim pengembangan?
Biasanya komentar kurang dari 5% dari kode. Dan dalam prakteknya sementara tinjauan kode itu sendiri menarik perhatian yang jauh lebih sedikit (lebih dari aspek-aspek pembangunan lainnya) praktis sulit sehingga komentar juga ditinjau.
sumber
Ada teknik yang sangat dikenal - ini disebut "review kode", dan memiliki saudara perempuan bernama "pair-programming". Jangan mengharapkan apa pun yang "otomatis" di sini.
"Kode selesai" tidak hanya berisi semua tentang cara membuat kode, tetapi juga bab tentang "cara mengomentari", terutama tentang cara menulis kode yang mendokumentasikan sendiri.
sumber
Khusus untuk Java, satu sumber yang saya nikmati adalah Cara Menulis Komentar Doc untuk Perangkat Javadoc :
Dan Butir 44: Tulis komentar dokumen untuk semua elemen API yang terbuka :
dari Java Edisi 2 yang Efektif .
sumber