Saya menemukan diri saya menulis (semoga) komentar bermanfaat dalam kode (C ++) jenis dokumentasi:
The reason we are doing this is...
Alasan saya menggunakan "kita" daripada "saya" adalah karena saya melakukan banyak penulisan akademis di mana "kita" sering lebih disukai.
Jadi, inilah pertanyaannya. Apakah ada alasan yang baik untuk memilih satu di atas yang lain dalam mendokumentasikan kode:
- Gunakan "Kami": Alasan kami melakukan ini adalah ...
- Gunakan "Saya": Alasan saya melakukan ini adalah ...
- Gunakan nama saya: Alasannya
[my name]
adalah ... - Suara pasif: Alasan ini dilakukan adalah ...
- Baik: Lakukan ini karena ...
Saya memilih # 1 karena saya terbiasa menulis seperti itu, tetapi dokumentasi bukan untuk penulis, itu untuk pembaca, jadi saya bertanya-tanya apakah menambahkan nama pengembang itu membantu atau jika itu hanya menambah satu hal lagi yang perlu diubah saat mempertahankan kode.
documentation
Alan Turing
sumber
sumber
This code was written like this because...
? (Suara pasif)Jawaban:
Saya akan pergi dengan:
# 6. Deklaratif: ...
Daripada mengatakan "Alasan ini dilakukan adalah karena setiap Foo harus memiliki Bar", katakan saja "Setiap Foo harus memiliki Bar". Buat komentar menjadi pernyataan aktif alasannya, daripada komentar pasif. Ini umumnya gaya penulisan yang lebih baik secara keseluruhan, lebih cocok dengan sifat kode (yang melakukan sesuatu), dan
the reason this was done
frasa tidak menambahkan informasi apa pun. Itu juga menghindari persis masalah yang Anda temui.sumber
//
sepertibecause
dalam kebanyakan kasus.Saya lebih suka tidak, dan benar-benar akan meninggalkan frase pengantar sama sekali dan hanya sampai pada intinya. Saya juga mencoba menghindari hanya mengatakan "ini" karena tidak ada cara untuk mengetahui apakah komentar tersebut sinkron dengan kode. Dengan kata lain, alih-alih:
Saya akan mengatakan:
Fakta bahwa Anda menambahkan komentar sama sekali menyiratkan Anda menyatakan alasan, jadi Anda tidak perlu memberi tahu orang lain bahwa Anda menjelaskan alasannya secara berlebihan. Buat alasan sespesifik mungkin, sehingga mereka tahu sejelas mungkin bagaimana mempertahankan kode itu nanti.
sumber
Dalam C # (dan di sebagian besar alat dokumentasi dalam bahasa lain) ada perbedaan antara dokumentasi dan komentar in-line. Pendapat pribadi saya adalah bahwa Anda harus selalu menggunakan komentar formal, gaya deklaratif seperti yang disarankan Bobson dan yang lainnya dalam dokumentasi kelas atau anggota, tetapi di dalam kode, tidak ada yang salah dengan menjadi kurang formal. Bahkan, kadang-kadang komentar informal lebih efektif untuk menjelaskan mengapa sesuatu menjadi don daripada penjelasan lengkap dalam bahasa Inggris formal.
Berikut ini contoh yang saya pikir menggambarkan intinya.
sumber
SanitizeData
harus mengembalikan aSafeComplexObject
. ;)Gagasan lain yang perlu dipertimbangkan adalah unit test yang dibuat dengan baik yang menunjukkan mengapa kode bekerja seperti halnya menulis komentar deskriptif. Ini memiliki beberapa manfaat daripada menulis komentar:
Komentar tidak selalu berubah ketika kode diubah yang nantinya dapat menyebabkan kebingungan.
Tes unit memberi pengelola cara mudah untuk bermain dengan kode. Mempelajari basis kode baru bisa jauh lebih mudah jika Anda memiliki unit individual yang dapat Anda hancurkan untuk mengamati perubahan apa.
Meskipun jalan ini membutuhkan lebih banyak pekerjaan di muka, pengujian unit dapat menjadi bentuk dokumentasi yang sangat baik.
sumber
Komentar yang baik sulit untuk ditulis, dan bahkan komentar terbaik pun seringkali sulit untuk dibaca dan dipahami. Jika komentar Anda cukup ringkas untuk saya serap dan cukup tepat untuk menyampaikan apa yang perlu saya ketahui tentang kode, itu tidak membuat saya berbeda apa kata ganti yang Anda gunakan.
Saya akan benci untuk mencegah seseorang mengomentari kode mereka karena mereka khawatir tentang kasus, tegang, dan orang dari kata ganti mereka.
sumber
I wrote the code this way because...
atauwhat we really need here is...
. Dalam orang-orang kasus, komentar yang jelas lebih penting daripada gaya yang ketat.Ini adalah gaya yang buruk, bahkan untuk makalah akademis, kecuali jika Anda berusaha menyembunyikan siapa yang benar-benar memutuskan hal itu.
Adapun pertanyaan spesifik Anda: Saya tidak akan meninggalkan komentar seperti itu, kecuali jika dimulai dengan:
atau kecuali itu menjelaskan sesuatu yang sangat penting, yang mungkin tidak begitu jelas dari kode. Dalam hal ini, buat komentar sesingkat mungkin.
sumber