Penting : kami tidak memiliki masalah apa pun dengan dokumentasi kode sumber . Ini milik audit kode reguler dan selalu diperbarui. Masalah kami adalah dengan dokumentasi pengembang (atau, "eksternal" jika Anda mau), sedikit tips seperti blog dari programmer ke programmer yang cenderung sekali ditulis, sering tertinggal.
Kami menggunakan sistem seperti wiki untuk menghasilkan dokumentasi pemrogram - artikel yang ditulis oleh pemrogram untuk pemrogram menjelaskan sedikit lebih detail bagaimana potongan kode tertentu bekerja. Halaman-halaman wiki itu biasanya termasuk:
- motivasi di balik keputusan desain untuk bagian API (misalnya; kami melakukan hal buruk ini karena perpustakaan pihak ke-3 ini menginginkan hal-hal yang harus dilakukan dengan cara ini, karena perpustakaan lain ini ..., karena ...)
- penjelasan tentang bagaimana kami menangani tugas-tugas umum tertentu (misalnya; menampilkan sembulan sepele, yang perlu merujuk gaya aplikasi yang sesuai, mendaftarkan dirinya dalam komponen registri, dan mengimplementasikan beberapa antarmuka agar secara otomatis "dipindai" oleh komponen lain)
- praktik yang baik (subjektif seperti apa adanya, kami benar-benar menuliskannya)
- konfigurasi lingkungan, alat yang diperlukan dan pengaturannya
Secara umum, terutama hal-hal yang berkaitan dengan penulisan kode yang tidak sesuai dengan dokumentasi kode biasa karena ukuran dan sifat posting blog / artikelnya.
Masalah
Sejauh memperkenalkan sistem ini sepertinya ide yang bagus beberapa bulan yang lalu, saat ini saya merasa seperti menyebabkan lebih banyak masalah daripada menyelesaikannya. Sebagai contoh:
- orang - orang menulis artikel ... tetapi begitu kode diubah, pembaruan wiki jarang mengikuti
- banyak artikel awal , ditulis oleh seseorang yang terburu-buru dan dibiarkan begitu saja
- meskipun permintaan artikel biasanya berasal dari pimpinan proyek, hampir tidak pernah diverifikasi untuk kebenaran / komposisi - yang kadang-kadang menghasilkan kualitas yang buruk
Degradasi yang biasa. Kode berubah, wiki tetap sama. Lain kali seseorang mencari informasi, yang biasanya ia temukan adalah barang-barang usang yang berkualitas rendah - dan bertanya-tanya apa yang terjadi, apakah barang-barang yang ia temukan akurat atau (bahkan lebih buruk) bagian mana dari itu. Dan apa yang seharusnya membantu, akhirnya melakukan yang sebaliknya.
Pada saat ini tampaknya orang-orang sadar akan masalah tersebut, termasuk pimpinan proyek, tetapi tampaknya tidak ada yang merasa terganggu untuk melakukan apa pun dengannya (atau memiliki hal-hal yang lebih menarik untuk dilakukan).
Pikiran awal saya adalah membuang semuanya ke dalam pelupaan (setelah saya digigit oleh "tips" yang sudah usang beberapa kali berturut-turut), tapi saya kira itu mungkin terlalu ekstrem. Beberapa informasi perlu diperhatikan dan kadang-kadang dibaca dengan baik, tetapi masalahnya masih sama: bagaimana Anda menangani "up-to-dateness" -nya ? Memilikinya terkait dengan kode sumber entah bagaimana (jadi ketika diperbarui versi file diperiksa ke dalam, penulis artikel akan diberitahu bahwa ia mungkin perlu merevisi kode / tulisan)? Sudahkah orang yang ditunjuk "mengawasinya" dengan dasar harian? Apakah pembersihan rutin?