"Architecture.md (2021)" teknik spesifikasyon belgesi
(matklad.github.io)ARCHITECTURE.md yazımı önerisi
- Açık kaynak proje bakımcılarına,
READMEveCONTRIBUTINGyanında birARCHITECTUREbelgesi eklemeleri güçlü biçimde tavsiye ediliyor. - Bu belge, projenin yüksek seviyeli mimarisini açıklar ve düzenli katkı sunan kişilerin okuması gerektiği için kısa tutulması iyi olur.
ARCHITECTUREbelgesi yalnızca sık değişmeyen içerikleri kapsamalıdır; kodla senkron tutmaya çalışmak yerine yılda birkaç kez gözden geçirilmesi daha uygundur.
Belgenin amacı ve önemi
- Bir proje hakkındaki fiziksel mimari bilgisi, genel katkıcılarla çekirdek geliştiricileri ayıran en büyük farktır.
- Projeye aşina değilseniz bir yama yazmak 2 kat daha uzun sürer; kodu değiştirmek için doğru yeri bulmak ise 10 kat daha fazla zaman alır.
ARCHITECTUREdosyası bu farkı kapatmanın etkili bir yoludur ve aynı zamanda projenin yapısı üzerine düşünme fırsatı sunar.
Belgenin yapısı
- Soruna yeni bir bakış açısından genel bir özetle başlamalı ve modüller arasındaki ilişkileri açıklayan ayrıntılı bir kod haritası sunmalıdır.
- Önemli dosyalar, modüller ve tipler belirtilmeli; ancak doğrudan bağlantı vermek yerine, bakım gerektirmemesi için adlarıyla aramaya teşvik edilmelidir.
- Mimari değişmezler açıkça işaret edilmeli ve katmanlar arasındaki sınırlar belirtilmelidir.
Mimari değişmezler ve sınırlar
- Önemli değişmezler çoğu zaman bir şeyin yokluğuyla ifade edilir ve bunu yalnızca kodu okuyarak fark etmek zordur.
- Katmanlar veya sistemler arasındaki sınırlar, sistemin uygulanışına dair bilgileri örtük olarak içerir ve mümkün olan tüm uygulamaları kısıtlar.
Uçtan uca ilgi alanları
- Kod haritası tamamlandıktan sonra, uçtan uca ilgi alanları için ayrı bir bölüm eklenmelidir.
- İyi bir
ARCHITECTUREbelgesi örneği olarak rust-analyzer'ın architecture.md dosyası verilebilir.
GN⁺ görüşü:
ARCHITECTUREbelgesi, projenin anlaşılmasına yardımcı olur ve yeni katkıcıların kod tabanına hızla alışmasında önemli bir rol oynar.- Bu belge, projenin yapısını netleştirir ve önemli mimari ilkeler ile sınırları vurgulayarak geliştiricilerin sistemi daha iyi anlamasına yardımcı olur.
- Açık kaynak topluluğunda
ARCHITECTUREbelgesinin benimsenmesi, projenin sürdürülebilir büyümesine ve bakımına katkı sağlayabilir; bu da geliştiriciler için oldukça faydalı ve ilgi çekici bir yaklaşımdır.
1 yorum
Hacker News görüşleri