Saya tidak tahu tentang lingkungan lain tetapi ketika datang ke proyek PHP besar (seringkali open source) yang ditulis orang lain, phpXRef adalah penyelamat mutlak (terutama jika dokumen tersebut ditempatkan online dan Google dapat mengindeksnya).
Bahkan proyek dengan komentar buruk setidaknya dapat membantu saya melacak di mana hal-hal telah didefinisikan dan di mana mereka digunakan (misalnya ketika refactoring).
Ketika dikomentari dengan baik, halaman-halaman yang dihasilkan terbentuk dekat dengan Alkitab yang sempurna untuk basis kode (untuk penggunaan saya saja).
Lebih jauh lagi, IDE pilihan saya akan secara otomatis menghasilkan blok komentar (jika saya mengetik / **) yang kira-kira 75% dari pekerjaan komentar untuk saya. Sungguh menakjubkan betapa banyak hal bodoh yang telah saya hentikan untuk dilakukan sepanjang hidup saya hanya karena saya harus menjelaskan kepada orang lain (dan calon saya) tentang apa yang saya lakukan. Ketika komentar saya untuk generator doc lebih besar dari metode ini biasanya berarti saya belum memiliki cukup kopi dan mungkin ingin berpikir sedikit lebih keras.
Blok komentar yang sama itu juga membuat teks "bantuan" penyelesaian inline jadi saya bisa melihat persis apa yang diharapkan (oleh coders lain) saat saya menulis pemanggilan fungsi. Ini adalah peningkatan produktivitas besar bagi saya (terutama dalam kasus-kasus tepi langka di mana beberapa pengembang membantu lainnya telah menulis "demi kebaikan lakukan / jangan-jangan X" - yang dapat menyelamatkan banyak rasa sakit.
Saya tidak bisa cukup menekankan betapa bermanfaatnya untuk memiliki jenis input yang diharapkan ditentukan dalam proyek-proyek PHP yang kompleks (dan sering disebut buruk) dan urutan argumen dalam metode yang jarang digunakan. Bahkan dengan kode saya sendiri, saya tidak selalu dapat mengingat argumen apa yang saya tentukan untuk sesuatu yang belum saya sentuh di zaman ini.
Dalam satu contoh itu berarti bahwa sumber masalah berulang adalah bahwa, untuk beberapa alasan yang mencerminkan buruk pada pengembang sebelumnya, beberapa fungsi dan bahkan konstanta didefinisikan dalam sejumlah besar tempat (dengan tingkat ketidakkonsistenan untuk menambahkan "kesenangan") . Itu adalah tanda untuk meninggalkan proyek.
Dalam proyek yang lebih besar yang dimulai sebelum saya bergabung, saya dapat melihat pengembang mana (dengan asumsi mereka menandai file kelas dengan nama dan email) yang membuat kelas dan hanya dapat menemukan dan berbicara dengan pengembang yang tepat sangat membantu.
Daftar tugas otomatis - menggunakan tag @todo (umum dalam jenis proyek yang saya temukan sendiri) berarti bahwa dokumentasi dapat melacak hal-hal yang memerlukan pekerjaan lebih lanjut (atau fitur yang diakui hilang). Sekali lagi IDE saya melacak ini dan itu saja bertindak sebagai panduan yang baik untuk apa yang perlu perhatian saya terlebih dahulu.
Terakhir (dan sangat penting bagi saya) itu menghilangkan overhead non-sepele dari menulis semua itu dan kemudian mencoba untuk tetap up to date ketika beberapa (baca banyak) coders melakukan perubahan dan tidak berbicara dengan pengelola dokumentasi.
Jadi, alasannya meliputi:
- Menyimpan pengembang nanti setumpuk waktu,
- Melacak di mana fungsi dipanggil (dan didefinisikan),
- Melihat kode konyol,
- Menemukan (seperti yang ditunjukkan orang lain) ketika ada sesuatu yang jelas hilang,
- Menyederhanakan refactoring (tidak pernah menyenangkan)
- (Dalam banyak kasus) mendapatkan gagasan tentang apa yang coba dilakukan pengembang (dengan asumsi ia meninggalkan beberapa catatan).
- Jika proyek ini cukup kompleks untuk mendapatkan beberapa lisensi (tidak menyenangkan), saya dapat dengan cepat melihat lisensi mana yang berlaku untuk bagian mana saja. Memang, ini adalah bonus sampingan.
- Mendapatkan gagasan tentang siapa yang harus diajak bicara tentang file proyek.
- Daftar tugas otomatis
Juga, jangan meremehkan nilai menjaga bos berambut runcing senang dengan satu sentuhan tombol.
Singkatnya "komentar dokumentasi otomatis" sangat penting untuk kebiasaan pengkodean saya. Saya yakin ada banyak yang berpikir itu payah tetapi saya juga yakin bahwa ada beberapa orang yang tahu persis apa yang saya katakan. Saya tidak tahu bagaimana saya bertahan sebelum menemukan phpXRef (dan IDE favorit saya).