İşte bir kod bölümüne yorum ekleyip eklememeyi düşünürken kendime sormak istediğim bir soru: Bir sonraki kişinin kodun genel amacını daha iyi anlamasına yardımcı olacak , böylece güncelleme, düzeltme veya daha hızlı ve daha güvenilir bir şekilde genişletmek?
Bazen bu sorunun doğru cevabı, kodun bu noktasında ekleyebileceğiniz fazla bir şey olmamasıdır, çünkü niyetini olabildiğince açık kılan isimleri ve kuralları zaten seçtiniz. Bu, sağlam bir kendi kendini belgeleyen kod yazdığınız anlamına gelir ve oraya bir yorum eklemek, yardımcı olabileceğinden fazlasını dağıtacaktır. (Gereksiz yorumların gerçekte zaman içinde gerçek kodla senkronizasyonun düşmesini yavaşlatarak ve böylece gerçek amacı çözmeyi zorlaştırarak kod güvenilirliğine zarar verebileceğini unutmayın.
Ancak, hemen hemen her programda ve herhangi bir programlama dilinde, orijinal programcı tarafından verilen belirli kritik kavramların ve kararların - sizin tarafınızdan - artık kodda görünmeyeceği noktalarla karşılaşacaksınız. Bu kesinlikle kaçınılmazdır, çünkü iyi bir programcı her zaman gelecek için programlar - yani, yalnızca programın bir kez çalışmasını sağlamak için değil, gelecekteki tüm düzeltmelerin, sürümlerin, uzantıların ve değişikliklerin ve bağlantı noktalarının ne olduğunu ve kimin ne yapılacağını da bilen ayrıca doğru çalışın. Bu ikinci hedefler dizisi daha zordur ve daha iyi düşünmeyi gerektirir. Ne işe yarar, diyerek üzerine, - işlevselliği odaklandık çoğu bilgisayar dilde iyi ifade etmek de çok zordur bu Programın sürümünü, şu anda, tatmin edici hale getirmek için yapmanız gerekir.
İşte ne demek istediğimin basit bir örneği. Çoğu dilde, küçük bir veri yapısının hızlı bir şekilde çevrimiçi olarak aranması, ilk defa bakıldığında birinin ne olduğunu hemen algılamayacak kadar karmaşık olacaktır. Bu iyi bir yorum için bir fırsattır, çünkü kodunuzun amacı hakkında daha sonra bir okuyucunun ayrıntıların çözülmesi için hemen yardımcı olabileceği bir şey ekleyebilirsiniz .
Tersine, mantık tabanlı dil Prolog gibi dillerde, küçük bir listenin aranmasını ifade etmek o kadar inanılmaz derecede önemsiz ve özlü olabilir ki, ekleyebileceğiniz herhangi bir yorum sadece gürültü olacaktır. Bu nedenle, iyi yorumlamalar mutlaka içeriğe bağlıdır. Bu, kullandığınız dilin güçlü yönleri ve genel program içeriği gibi faktörleri içerir.
Sonuç olarak bu: Geleceği düşünün. Programın gelecekte nasıl anlaşılması ve değiştirilmesi gerektiği konusunda kendinize neyin önemli ve net olduğunu kendinize sorun. [1]
Kodunuzun gerçekten kendi kendini belgeleyen kısımları için, yorumlar yalnızca gürültü ekler ve gelecekteki sürümler için tutarlılık sorununu arttırır. Yani onları oraya eklemeyin.
Ancak, kodunuzun çeşitli seçeneklerden kritik bir karar verdiğiniz veya kodun amacının belirsiz olduğu kadar karmaşık olduğu yerlerde, lütfen özel bilgilerinizi yorum biçiminde ekleyin. Böyle bir durumda iyi bir yorum, gelecekteki bazı programcıların neyin aynı kalması gerektiğini - bu da değişmez bir iddia kavramıdır - tesadüfen - ve neyin değişmesi gerektiğidir.
[1] Bu, yorum konusunun ötesine geçiyor, ancak bunun önemi var: Kodunuzun gelecekte nasıl değişebileceği konusunda çok net bir fikre sahip olduğunuzu fark ederseniz, muhtemelen sadece bir yorum yapıp bu parametreleri yerleştirmenin ötesinde düşünmelisiniz. Kodun kendi içinde, çünkü kodunuzdaki gelecekteki sürümlerin güvenilirliğini sağlamak için neredeyse her zaman daha güvenilir bir yol olacaktır; Aynı zamanda, fazla geleceği tahmin etmekten de kaçınmak istersiniz, çünkü insanlar geleceği önceden tahmin etmekte kötüydü ve program değişikliklerinin geleceğini de kapsıyor. Bu nedenle, tüm program tasarım seviyelerinde geleceğin makul ve kanıtlanmış boyutlarını tanımlamaya ve yakalamaya çalışın, ancak