Bir proje için, bazı eski oyunlardan ve ilgili yazılımlardan - yapılandırma dosyaları, tasarruflar, kaynak arşivleri vb. Bunların çoğu henüz belgelenmemiştir veya onlarla çalışmak için araçlar yoktur, bu yüzden formatları tersine mühendislik ve bunları işlemek için kendi kütüphanelerimi oluşturmalıyım.
Her ne kadar çoğu için büyük bir talep olduğunu düşünmese de, çabalarımın sonuçlarını yayınlamayı planlıyorum. Dosya formatlarını belgelemek için kabul edilmiş standartlar var mı? Etrafa bakıldığında, kullanımda birkaç stil var: .ZIP Dosya Biçimi Belirtimi gibi bazıları çok garip; XentaxWiki'deki gibi diğerleri çok daha keskindir - bazılarını okumakta zorlanıyorum; Şahsen en çok sevdiğim , PlayStation 2 Hafıza Kartı Dosya Sistemi'nin hem ayrıntılı açıklayıcı metni hem de ofsetlerle çeşitli 'hafıza haritalarını' içeren bu açıklamasıdır - aynı zamanda kullanım durumumla en iyi şekilde eşleşir. Farklı formatlar için biraz değişecektir, ancak izlemeye çalışmam gereken bazı genel ilkeler olmalı gibi görünüyor.
Düzenleme: Ne yapmak istediğimi çok iyi açıklamamıştım. Bir örnek oluşturayım.
Yapılandırmasını bir 'ikili' dosyada saklayan eski bir yazılım parçam olabilir - bir dizi bitfield, tamsayı, dize ve program tarafından birbirine yapıştırılan ve anlaşılmayan, ancak insan tarafından okunamayan bir dizi. Bunu deşifre ediyorum. Bu dosyanın biçimini tam olarak insan tarafından okunabilir bir şekilde, bu dosyayı ayrıştırmak ve değiştirmek üzere bir kitaplık uygulamak için bir belirtim olarak belgelemek istiyorum. Ayrıca, bunun diğer insanlar tarafından kolayca anlaşılmasını istiyorum.
Böyle bir belgenin yazılmasının birkaç yolu vardır. Yukarıdaki PKZIP örneği çok gariptir ve çoğunlukla dosya biçimini serbest metin olarak tanımlar. PS2 örneği, hepsinin ne anlama geldiğine dair kapsamlı yorumlar içeren değer türleri, ofsetler ve boyut tabloları verir. XentaxWiki'deki diğerleri gibi, pek çoğu, çok az yorum içeren veya hiç yorumlamayan değişken türlerini ve boyutlarını listeler.
Bu tür belgelerin nasıl yazılacağı konusunda rehberlik sağlayan bir kodlama stili rehberine benzer herhangi bir standart olup olmadığını soruyorum. Değilse, taklit etmem gereken iyi bilinen mükemmel bir örnek var mı? Değilse, en azından bazı yararlı tavsiyeler özetleyebilir mi?
struct
. Oldukça iyi çalıştı.