Herkes belirli bir dosya için maksimum kod satırı sayısı için saygın bir kaynaktan bir öneri bilip bilmediğini merak ettim. Örneğin, Google'ın Kapanış Linter'i her satırın 80 karakteri geçmemesini önerir.
Herkes belirli bir dosya için maksimum kod satırı sayısı için saygın bir kaynaktan bir öneri bilip bilmediğini merak ettim. Örneğin, Google'ın Kapanış Linter'i her satırın 80 karakteri geçmemesini önerir.
Yanıtlar:
Bir dosya, onu avlamak için birden fazla kez ileri veya geri gitmeden veya bir arama dizesini hatırlamak zorunda kalmadan herhangi bir işlevi veya yöntemi bulabileceğiniz kadar kısa olmalıdır. Kullandığım metrik, bir dosyadaki kodu okumaya karşı aramak için harcadığım süre. Bu fark edilir hale gelirse, dosyayı veya sınıfı yeniden bölümlendirme zamanı gelmiştir.
Bir temel kod bloğu için iyi bir boyut, hem genişlik hem de yükseklik açısından yeterince kısadır, bir grup kodu incelemesi sırasında cesaretlerini yansıtabilirsiniz ve yazı tipinin arkasındaki adam o kadar küçük olmadan hepsinin sığmasını sağlayabilirsiniz. konferans salonu okuyamaz. Bu boyut, sizinle birlikte olan tek şey bir mobil cihaz veya tablet olduğunda bazı kodları açıklamak için çağrılırsanız da yardımcı olur.
Böyle bir şey yoktur ve eğer olsaydı, hangi dili kullandığınıza büyük ölçüde bağlı olurdu (örneğin, C # veya Java'ya karşı aynı şeyi yapıcıda).
Daha üst düzey diller için, bu SO tartışmasını görebilirsiniz . Java / C # için, Bob Martin'in maksimum olarak önerdiği yöntem başına 10-20 satır . İlgili olmadığı ve sınıfın ne yapması gerektiğine bağlı olduğu için dosyalar hakkında tartışma yoktur.
Satır başına 80 karakterle ilgili olarak - bu, kartların günlerine bir geri dönüş. Söyledikten sonra, çizgiler çok uzadığında okunabilirlik acı çeker.
Dosya ve çizgi uzunlukları, karmaşıklığın ikincil etkilerinin ölçümleridir ve bu nedenle oldukça değişkendir. Hedeflemeniz gereken, belirli bir maksimum satır sayısı değil, gereksiz karmaşıklık içermeyen koddur.
Uzun dosyalar, yöntemlerin, alt programların veya sınıfların aşırı karmaşık olduğunu gösterir (çok fazla şey yapmak, yeterince faktörlü değil, vb.)
Uzun çizgiler ifadelerin aşırı karmaşık olduğunu gösterir.
Bunlar, iyi tanımlanmış hedef metrikleri değil, potansiyel bir kod sorununu gösteren kokulardır.
Satır uzunluğu, tüm satırı görmek için ekranı kaydırmanıza gerek kalmayacak şekilde olmalıdır. Bu, monitör boyutuna ve çözünürlüğe bağlıdır.
Bir ekrana sığabiliyorsa yöntemler ve fonksiyonlar en iyisidir.
Dosyalar çok uzun olmamalıdır. En iyisi, sınıfı ve uygulamayı anlamanın kolay olduğu kısa dosyalardır.
Bir keresinde 10 kline dosyası olan bir proje üzerinde çalıştım. Çok karmaşık bir kitap okumak gibiydi. Uygulamanın kaç soruna neden olduğunu söylemem gerekir mi?
80 karakter!
COBOL yaptığımda faturalandırma programları için yaklaşık 80 sayfa ve daha fazla kaynak kodu dosyası gördüğümü hatırlıyorum . Tabii ki, bunun yaygın bir uygulamaya yakın olduğunu göremiyorum ama 80 karakter eşit derecede saçma.
Sınıf boyutu görünümünden, bu öneriyi yaklaşık 80 özelliği ve 20 yöntemi olan tipik bir Müşteri sınıfına uygulamaya çalışırsanız, sınıfı birkaç taneye ayırmanız ve kodu gerçekten çok dağınık hale getirmeniz gerekecektir.
Sınıfları ve yöntemleri kısa tutmaya çalışıyorum, ancak satır uzunluğu hakkında çok fazla endişelenmeyin. Geniş ekranlarda ve uzun tanımlayıcılarda, seksen karakterin çok az olduğunu düşünüyorum. İfadeleri kırmak için biraz çalışmak gerekir, böylece kolayca okunabilir ve seksen karakter sınırlaması ile oldukça sık görülür. Bence satır başına yaklaşık 120 veya 130 sütun daha makul.