Hedef kitle
Bence bu soruyu cevaplarken bu dokümanı kimin okuması gerektiğini sormanız gerekiyor. Bir Geliştiricinin bir Kullanıcıya ve hatta bir İş Analisti'ne çok farklı ihtiyaçları vardır.
- Geliştirici olarak: incelenen kodla ilişkili belgeler, arayüz sözleşmesi gibi ayrıntılar ve kullanım örnekleri. Belki de iyi bir ölçü için bazı üst düzey belgeler ve protokol özellikleri.
- Kullanıcı olarak: Yardım menüsünden ulaşılabilen belgeler veya yazılımı kullanma hakkında erişilebilir bir web sitesi.
- İş Analisti olarak: belge olarak veya erişilebilir bir web sitesi olarak sunulan belgeler yararlıdır. Protokoller, üst düzey mimari ve kullanım örnekleri hakkında mütevazı bir ayrıntı en iyisidir.
Bakım
Bu dokümantasyonun kaynağının nereye yerleştirileceği, kitlenize ve kitleniz için kimlerin yazacağına bağlı olacaktır.
- Sadece geliştiricilerin evi mi var? Her şeyi koda yerleştirin. Güncellenmesi için teşvik edecektir. Belge değişikliklerini kod değişiklikleri kadar önemli olmaya teşvik eden bir kültür üzerinde çalışmanız gerekecektir.
- Bir ev geliştirici ve dokümantasyon yazarınız var mı? Sorumlulukları bölün. Geliştiriciler için geliştirici odaklı araçları kullanın, dokümantasyon yazarları için dokümantasyon yazarları araçlarını kullanın.
Mümkünse kod örneklerinin veya kullanım örneklerinin yürütülebildiğinden emin olun. Yürütülmelerini otomatikleştirin ve hataları dahili olarak işaretleyin. Muhtemelen bu sayfalar kötü veya kötü dokümanlardır.
Ayrıca, belgelerinizi yazmak için hangi araçları seçerseniz seçin, belgelerin belirli bir sürümünü kodun belirli bir sürümüyle ilişkilendirmek için güvenilir bir araca ihtiyacınız vardır. Bu, tek bir herdem yeşil konuşlandırmayla mutlu bulut topraklarında bile hala faydalıdır.
Belgeleri Entegre Etme
Bazı belgeler üretmek için entegrasyon gerekebilir, ancak yalnızca kullanıcının ihtiyaç duyduğu tüm belgelere erişmek için tek bir yer beklediğini unutmayın.
İş analisti, bir API spesifikasyonu, Tasarım Özellikleri ve Kullanım senaryolarından ayrı belgelerde veya bir web sitesinin ayrı bölümlerinde bulunmasından oldukça memnun.
Geliştirici, kaynaktan görünen her şeyi tercih eder, ancak tercihen aynı kasada olsa da, birkaç üst düzey tasarım belgesine ve kodun dışındaki ayrıntılı protokol spesifikasyon belgelerine sahip olmaktan oldukça mutludur.
Senin durumun
Dürüst olmak gerekirse, wikinizdeki belgeler muhtemelen kod tabanınızdaki belgelerle aynı tür değildir. Birleştirme de mantıklı olmayabilir.
Diğer yandan, ikisini entegre etmek birkaç basit yolla sağlanabilir.
- Kaynak dokümantasyon araçları (doxygen gibi) html üretebilir ve bir wiki bir web sunucusunda yaşar. Sadece wiki ile birlikte yerleşik bir versiyona hizmet etmek ve ikisi arasında bağlantı kurmak için basit bir entegrasyon noktası olurdu.
- Bazı wiki ürünleri, wiki'yi doğrudan kod tabanına check-in yapabileceğiniz bir dosyadan çalıştırmanıza izin verir. Bu, belgeleri kodla eşleştirirken basit bir wysiwyg aracı sağlar.
- Pdf gibi diğer formatlar da kullanılabilir, ancak bu kullanmak istediğiniz özel takımlara inecektir. Wiki'nizi markdown dosyalarına kazımak ve bunu doxygen (veya diğer araçlar) aracılığıyla beslemek mantıklı olabilir. Wiki ve kaynağı ayrı ayrı pdf olarak yazmak ve bir pdf birleştirme aracı kullanmak mantıklı olabilir.
Günün sonunda, hangi dokümantasyon sisteminin düşük bakım maliyetlerine sahip olduğunu bulun ve Geliştiriciler, İş Analistleri ve Kullanıcılar kitleniz tarafından görüldüğü gibi yüksek kaliteli bir ürün sunmanıza yardımcı olur. Bu gruplardan herhangi birini engelleyen her şey mutlaka ürünlerin kalitesini düşürecektir.