geniş ekran monitörde, bir seferde 80'den fazla karakter, kaydırma çubukları olmadan kolayca görülebilir. linus torvalds bile 80 karakter sınırını modası geçmiş olarak görüyor .
Öyleyse, 80 karakter sınırı hala geniş ekran monitörlerde geçerli mi?
geniş ekran monitörde, bir seferde 80'den fazla karakter, kaydırma çubukları olmadan kolayca görülebilir. linus torvalds bile 80 karakter sınırını modası geçmiş olarak görüyor .
Öyleyse, 80 karakter sınırı hala geniş ekran monitörlerde geçerli mi?
Yanıtlar:
80 karakterlik bir sınıra uymanın hala birkaç nedeni vardır (veya 74 karakterlik bir limit daha da iyidir; kod incelemesi yaparsanız fark belirteçleri ve e-posta teklifi eklendiğinde bile kodun 80'den az sütun kalmasına izin verir) posta listeleri).
Geniş ekran monitörlerde bile, kodun farklı kısımlarını gösteren birkaç pencereyi yan yana açmayı seviyorum. Örneğin, genellikle bir ekranda bir web tarayıcım ve e-postam var, ikinci bir monitörde iki dosya ve bir terminal yan yana açık. 80 sütunun üzerinde çalışan satırlarınız varsa, satırları saran düzenleyiciyle uğraşmanız gerekir (bu çirkindir ve kodun etrafta gezinmesini zorlaştırır) veya pencereleri ekrana kadar sığamayacak şekilde genişletmeniz gerekir. bir Zamanlar.
Genellikle bu şekilde düzenleme yapmasanız bile, yan yana bir diff aracı kullanırsanız, farkınızı kolayca görmenizi sağlayacak makul satır uzunluğundaki dosyaları beğeneceksiniz.
Ayrıca bir kod yoğunluğu sorunu var. Kod okurken çok fazla içeriğe sahip olmayı seviyorum. Bir pencereyi aşağı yukarı kaydırmak, kaydırmak olduğundan daha hızlıdır. Çok uzun bir hattınız varsa, aynı zamanda, çok fazla boşa harcanan ve çok fazla boşa harcanan ekran gayrimenkulüne yol açan ve genel olarak ekrana daha az kod sığdırabilen çizgiler de olma eğilimindedir.
Ve son olarak, eğer çok uzun çizgileriniz varsa, bu genel olarak çok karmaşık çizgiler, derin girinti veya çok uzun tanımlayıcılarınız olduğu anlamına gelir. Bunların hepsi bir problem olabilir. Karmaşık çizgiler muhtemelen çok fazla şey yapıyor; birkaç basit çizgiye ayırabilirseniz, muhtemelen yapmalısınız. Derin girinti, muhtemelen kod akışınızı kafa karıştırıcı hale getirebilecek çok fazla döngü ve koşullayıcı yerleştirdiğiniz anlamına gelir; birkaç fonksiyona yeniden yerleştirmeyi düşünmek. Tanımlayıcılarınız çok uzunsa, kodunuzu okumayı çok zorlaştırabilir. İnsanlar genellikle kelimeleri bireysel birimler olarak tanır; her karakteri tek tek okumazlar, ancak kelimenin genel şekline bakarlar. Uzun tanımlayıcıları bu şekilde ayırt etmek daha zordur ve genellikle o kadar uzunlarsa, fazladan veya tekrarlayan bilgiler içerirler.
Şimdi, kodu 80 sütunun altında tutmak hala iyi bir pratik olsa da, bu, dini kurallara uyulması gereken kurallardan biri değil; Tüm kodunuzu 80 sütunun altında tutmayı denemenizi öneririm, ancak tam olarak uymadığında çok fazla endişelenmeyin.
std::vector<...>::const_iterator
), ikinci durumda, genellikle tipik tanımlamalar ile işler hafifletilebilir olsa da teşvik edilir.
Satırlarımı yaklaşık 100 karakterden az tutarsam, geniş ekran monitörde yan yana iki düzenleyici penceresi alabilirim. Hem sınıf başlık dosyasının hem de uygulamanın aynı anda görünür olması ya da bir tarafında diğerinde kodu çağıran kodun olması çok yararlıdır. Ve çizgileri kısa tutarsam, editör pencerelerimde yatay bir kaydırma çubuğuna ihtiyacım yok, bu da bana daha fazla dikey alan veriyor.
80 karakter modası geçmiş olabilir, ancak bazı şeyleri akılda tutmanın yararı vardır.
Monitörün bununla bir ilgisi olduğunu sanmıyorum - en azından artık değil.
80 karakterlik bir satırı kodlayamazsanız, bu muhtemelen zaten kötü kodun bir işaretidir. Çok karmaşık ifadeler. Çok derin girinti. vb. Yapmalı ve durduğunuzu tekrar yapmalısınız.
Ancak, kodun 80'den fazla satır gerektirdiğinden eminseniz, devam edin ve yapın. Bence daha küçük hale getirmek için deyimsel değişiklikler eklemekten ziyade 80 karakteri aşan bir kodun olması daha iyi.
Şahsen bu tür şeylerden nefret ediyorum:
ret = my_function(parameter1, \
parameter2, \
parameter3, parameter4);
Basitçe yerine:
ret = my_function(parameter1, parameter2, parameter3, parameter4);
Kodlamaya mı?
Kesinlikle evet. Normal insanlar çok geniş okuyamazlar. Birkaç sütunla gözlerinizi daha az hareket ettirir, daha iyi odaklanır ve yorgunluğu geciktirirsiniz. Asgari bir kazanç ama önemli bir kazanç.
Evet, kod satırı uzunluğunu sınırlamak için sebepler var:
Bunu söylerken, 80 biraz fazla. Ancak, yine de, bazı sınırlamalar muhtemelen bir tasarım ilkesi olarak iyi bir fikirdir.
Bazen onlar çünkü ekstra uzun çizgiler izin gerektiğini söyleyebilirim olan gerekli. Ancak işlevlerin çoğu yalnızca 30 "ekranda görüntülenebiliyorsa, kodun bazı sorunları vardır.
Bu keyfi, ancak okunması kolay olanın keyfi olmayan bir sınırı var. Süper geniş metin sütunlarının, kodları veya nesirleri ne olursa olsun, taranması ve okunması çok zor. Ayrıca, diğer birçok cevapta da belirtildiği gibi, bu kodun ekranınızdaki tek şey olacağı gibi değil. Aynı anda iki veya daha fazla kod penceresinin olması ve bir geniş ekran monitöre sığdırılması harikadır.
Muhtemelen tam olarak 80 karakterlik bir limit seçmek uygun değildir; Örneğin limit 85 ise ne değişecek?
Günümüzde kullanılan monitörlerin daha yüksek çözünürlüklere sahip oldukları doğrudur, ancak bir metin editöründe / IDE'de tüm alan metin görünümünden alınmaz; Kullandığım düzenleyicide sol tarafta projede yer alan dosyaların listesini gösterir.
Bir netbook veya notebookta kullanılan çözünürlük monitörlerde kullanılan aynı değildir; muhtemelen kimseye "sorun" yaratmayan bir karakter sınırı kullanmak mantıklıdır.
Bu gerçekten geliştirme ortamına bağlı.
Örneğin, binlerce geliştiriciye sahip büyük bir şirkette, bir ürünün kullanım ömrü boyunca kodunun bir kısmına bakmak zorunda kalacak yüzlerce insan vardır. Bu kadar çok insanla, ne olursa olsun (eski donanım, netbook vb.) 800x600 veya daha düşük hızlarda çalışan birkaç kişi olması zorunluluğu var. Onları ağırlamanın bir değeri var.
Yine de 25 kişilik şirketimde boşver diyorum. Hepimiz maksimum 120-140 çözünürlükte çift modern monitör kullanıyoruz ya da gayrı resmi bir kılavuzdur.
Bir miktar sınırın olması kesinlikle mantıklı. Ancak 80 karakter sınırı çok kısıtlayıcı. 96 karakter sınırı gibi bir şey tercih ederim. Başa çıkmam gereken kodun çoğu için yeterince geniştir ve yeterince dar olduğundan iki dosya yan yana koyulabilir (geniş bir ekranda).
Kod okunabilirliğinin diğer tüm endişeleri aştığına inanıyorum. Ve satır başına 96 karakter kodu ile 80'den çok daha okunabilir hale getirilebilir.
Çoğu insanın terminallerini 80 karakter genişliğine koyduğu argümanını satın almıyorum, yazıcıların 80 karakterden daha uzun satırları sarması gerekmiyor. Eskiden (uzak) geçmişte olduğu gibi zor bir sınır değil. Terminal ve yazıcı genişliğini kolaylıkla 100 karaktere ayarlayabilirsiniz.
Hayır, artık alakalı değil:
80 karakter gerçekten bir konsol ortamında sabit genişlikte yazı tipleri için bir kılavuz oldu.
Tabii ki, hala konsol ortamında sabit genişlikte bir yazı tipi kullanıyorsanız ... o zaman emin, 80 karakter mantıklı :)
Bir GUI'de bir editör kullanıyorsanız, o zaman satır başına 80 karakter ilgisizdir, çünkü çoğu iyi editörlerin - örneğin Notepad ++ - satır kaydırmayı değiştirmek için bir düğmesi vardır. Bununla, kodu ince bir pencerede görüntülerken bile sorun olmamalıdır.