İlginçtir ki , doğal dile uygulanan okunabilirlik , okuma ve anlama hızı ile ölçülür. Sanırım basit bir kural gerçekten de kabul edilebilir, eğer belirli bir kod yorumu bu özelliği iyileştirmezse, bundan kaçınılabilir .
Neden yorumlar?
Kod yorumu gömülü bir dokümantasyon biçimi olsa da, dilin kendi öğelerini kullanarak gereksiz "fazla belgelenmiş" programlamayı (anlamlı koddan) önlemek için üst düzey programlama dillerinde birçok yol vardır. Ayrıca, bireysel ifadelerin kelimenin tam anlamıyla tautolojik bir biçimde açıklandığı (zaten verilen cevaplarda "/ * 1 * /" i örneklendiğinde, "/ * 1 * /" örneğine dikkat edin), programlama kitapçığından kodu listelemeye dönüştürmek kötü bir fikirdir. sadece dili ile deneyimsiz programcılar için.
Bununla birlikte, gerçekte “tüm kötülüklerin kaynağı” olan “az belgelenmiş” (ancak anlamsız) kodu yorumlamaya çalışmaktır. "Belgelenmemiş" kodun varlığı çok kötü bir sinyaldir - ya yapılandırılmamış bir karışıklık ya da mistik kaybedilen amaçların tuhaf kesilmesidir. Açıkçası, böyle bir kodun değeri en azından sorgulanabilir. Ne yazık ki, her zaman örnekler vardır, gerçekten de, (görsel olarak gruplandırılmış) biçimlendirilmiş kod satırlarının bir bölümüne, yeni alt yordamın içine kaydırmak yerine, ("küçük kafanın hobgobini" olan "aptalca tutarlılığı" dikkate alın) bir bölüme yorum eklemek gerçekten daha iyi olduğunda, her zaman örnekler vardır. .
Kod okunabilirliği! = Kod yorumları
Okunabilir kod, yorumlarda açıklama gerektirmez. Koddaki her belirli yerde, her zaman bu belirli kodun gerçekleştirmesi gereken bir görev bağlamı vardır. Amaç eksikse ve / veya kod gizemli bir şey yaparsa = ne pahasına olursa olsun kaçının. Garip bilgisayar korsanlarının kodunuzu doldurmasına izin vermeyin; bu, temel teknolojilerin anlaşılması için buggy teknolojilerinin zaman / ilgi eksikliği ile birleştirilmesinin doğrudan bir sonucudur. Projenizde mistik kodlardan kaçının!
Öte yandan, Okunabilir program = kod + belgeler , örneğin "API'ye yorum" belgelerinin oluşturulmasını kolaylaştırmak için birden fazla meşru yorum bölümü içerebilir.
Kod stili standartlarını takip edin
Yeterince komik olan soru, kodun neden yorumlanacağıyla ilgili değil, ekip çalışmasıyla ilgili - yüksek düzeyde senkronize edilmiş bir tarzda kodun nasıl üretileceği (herkesin okuyabileceği / anlayabileceği) ile ilgili. Şirketinizde kod tarzı standartlarına uyuyor musunuz? Asıl amacı, yeniden düzenleme gerektiren kod yazmaktan kaçınmak, fazla "kişisel" ve "öznel" olarak belirsiz olmaktır. Bu yüzden, eğer birinin kod stilini kullanma zorunluluğunu görürse, uygun şekilde nasıl uygulanacağına dair çok ciddi araçlar var - insanları eğitmekle başlayıp kodun kalite kontrolü için otomasyonla (sayısız metin vb.) Ve (revizyonu bitirmek) kontrolü entegre) kod inceleme sistemleri.
Bir kod okunabilirliği evangelisti ol
Bu kodun yazıldığından daha sık okunmasını kabul ediyorsanız. Fikirlerin açık bir şekilde ifade edilmesi ve açıkça düşünülmesi sizin için önemliyse, hangi dilin iletişim için kullanıldığına bakılmaksızın (matematik, makine kodu veya eski ingilizce) .. Göreviniz alternatif ve çirkin alternatif düşünme biçimini ortadan kaldırmaksa .. (üzgünüm , sonuncusu başka bir "tezahür" den ..) .. soru sor, tartışma başlat, belirsizliği ele alan (muhtemelen sadece Beck'in tasarım modellerine benzer bir şey değil, daha çok RC Martin tarafından daha önce bahsedildiği gibi) kod temizliği üzerine kitaplar düşündürmeye başla. programlamada. Ayrıca, ana fikirlerin bir mermi noktası geçişi (okunaklılık konusunda O'Reilly kitabından alıntı)
- Her kod satırı için geçerli olan ipuçlarıyla adlandırma, yorum yapma ve biçimlendirme işlemlerini basitleştirin
- Karmaşıklığı ve karışıklığı azaltmak için programınızın döngülerini, mantığını ve değişkenlerini iyileştirin
- Her seferinde bir işi yapmak için kod bloklarını yeniden düzenleme gibi işlev düzeyindeki sorunlara saldırı
- Okunaklı olmasının yanı sıra kapsamlı ve özlü bir test kodu yazın
"Yorum yapma" yı kesmek, hala çok şey bırakılmış (Sanırım yorum gerektirmeyen bir kod yazmak harika bir egzersiz!). Anlamsal olarak anlamlı tanımlayıcıları adlandırmak iyi bir başlangıçtır. Daha sonra, mantıksal olarak bağlı işlemleri fonksiyonlar ve sınıflar halinde gruplayarak kodunuzu yapılandırın. Ve bunun gibi. Daha iyi bir programcı daha iyi bir yazardır (elbette verilen diğer teknik becerileri varsayarsak).