Bence konunun iyi seçildiğini düşünüyorum. Her seferinde on bin şeyi yapan bir Perl satırı yazmak "havalı", ancak sonra tekrar ziyaret etmeniz gerektiğinde berbat.
Farklı bir notta, akıllıca olsun olmasın, kodun belgelenmesi gerekir. Sanayinin kabul ettiği programlama dilleri ile insan olarak alışkın olduğumuz üst düzey kavramlar arasında düşüncemize alışkın bir uyumsuzluk var. Kendini belgeleyen kod basitçe gerçekleştirilemez - doğal bir dil olana kadar. Prolog kodunun bile belgelendirilmesi gerekmekte, ancak yine de yüksek düzeyde olmasına rağmen hala resmi bir yapıya sahip.
İnce taneli zorunlu kod, belgelenmesi gereken kaba taneli planların uygulanmasına hizmet eder. 3 satırlık hızlı bir yol haritası yorumunda bulunacaksa, yöntemin 50 satırının tamamını okumak zorunda kalmak istemiyorum.
Daha sonra düzenleme: Daha belirgin bir örnek bilgisayarları aşan bir örnektir. Bir kitap çok iyi yazılmış olabilir, ancak sık sık farklı soyutlama seviyelerinde işlemek istiyoruz. Genellikle, kitabın bir özeti olacak ve yorumların kodlamaya sunabileceği şey bu. Tabii ki, iyi soyutlanmış kod kendi kendini belgelemeye doğru uzun bir yol kat edebilir, ancak size tüm soyutlama seviyelerini veremez.
Ayrıca, yorumlar, ana metindeki bir iddianın arkasındaki mantık yürütme sürecini çözmeden açıklama yapmamız gerektiğinde, bir kitaptaki boşluklar gibi davranabilir.
Bu bağlamda, yorum ihtiyacını aşan doğal dile atıfta bulunduğum önceki ifademin yanlış olduğunu tespit ediyorum. Bir kitapta olduğu gibi, doğal dil bile, metinde yer alan soyutlamayı seyrek olarak açıklamak veya ana metni ayırmadan detours sağlamak için kendisini belgelere ödünç verebilir. İyi soyutlanmış kodun kendi kendini belgeleme yolunda uzun bir yol kat etmiş olabileceğine dikkat edin.
Son fakat en az değil, yorumlar kod yazıcının yüksek bir soyutlama seviyesinde kalmasına yardımcı olabilir. Çoğu zaman, bir adım listesine dahil ettiğim ardışık iki yorumun aynı soyutlama seviyesinde konuşmadığını fark ettim, bu da derhal o kodla yaptığım şeye eleştirel bir göz atmayı garanti ediyor.
Bazı problemler kodlamayı aşar ve diğer aktiviteler gibi kodlamayı etkiler. Yorumlar, bu gerekçeyi ve kodumuzun gerekçelerini açıklığa kavuşturmada yardımcı olabilir ve onlara değişiklik yapmak için kişiye fayda sağlamak için daha yumuşak bir dil konuşan hoş bir yol arkadaşı buluyorum.