Setiap kali saya mengetahui bahwa sebagian besar kode saya perlu diubah, baik karena itu tidak benar atau karena perlu disesuaikan dengan perubahan arsitektur utama yang diperlukan oleh alasan lain, inilah yang biasanya saya lakukan:
- Saya berkomentar semua kode yang saya curigai mungkin harus saya ubah. Saya memperlakukan kode yang dikomentari sebagai semacam daftar TODO saya.
- Saya secara bertahap meninjau kode yang dikomentari dan menghapus tanda komentar bagian dari kode ini, atau menyalin-menempelnya di tempat lain dan kemudian mengeditnya seperlunya, atau menulis ulang bagian-bagian dari kode ini dari awal, melihat kode komentar untuk referensi. Setiap kali saya pikir saya sudah selesai dengan bagian dari kode berkomentar saya menghapusnya.
- Saya melanjutkan ini sampai saya tidak dapat melihat lagi kode komentar.
Saya harus mencatat bahwa saya sebagian besar melakukan ini pada proyek pribadi yang saya kembangkan sendiri.
Namun, saya diberitahu, bahwa saya harus berhenti melakukan ini. Saya diberitahu bahwa alih-alih, saya harus mulai menggunakan git, merujuk pada commit lama untuk melihat kode lama, alih-alih meninggalkan kode yang dikomentari. Saya diberitahu:
Mengomentari kode adalah kebiasaan buruk yang harus dihapuskan. Anda kurang pengalaman sehingga Anda gagal memahaminya. Jika, dalam beberapa tahun, Anda melihat kode orang lain yang suka berkomentar kode, Anda sendiri akan mulai bersumpah pada orang ini. Setiap kali saya melihat kode berkomentar, saya menghapusnya secara keseluruhan, bahkan tanpa melihatnya, karena biasanya kode seperti itu sama sekali tidak berharga. Anda pasti akan gagal melihat kelemahan dari mengomentari kode dalam proyek kecil, satu orang; tetapi jika Anda menemukan pekerjaan dan mempertahankan kebiasaan ini, itu akan memalukan.
Bolehkah saya bertanya apa kelemahan ini dari apa yang saya lakukan sehingga saya gagal melihat sekarang?
Saya harus mengatakan saya tidak benar-benar tertarik hanya menggunakan git untuk melihat kode terakhir. Seperti yang saya katakan, saya memperlakukan kode komentar sebagai semacam todo-list; sementara git akan menunjukkan kepada saya bagaimana kode yang digunakan untuk mencari, itu akan gagal menunjukkan dengan jelas kepada saya bagian mana dari kode yang masih perlu ditinjau dan yang sudah dilakukan. Saya khawatir saya mungkin kehilangan beberapa bagian dari kode dan memperkenalkan bug.
Untuk kelengkapan, saya merasa saya harus menambahkan bahwa orang yang saya kutip adalah pengembang yang berpengalaman dan penggemar "Kode Bersih" Paman Bob - dan Paman Bob memang mengkritik berkomentar keras tentang kode dalam bukunya.