Jeśli włączysz opcję „View Right Margin” (Wyświetl prawy margines) w wybranym IDE, prawdopodobnie będzie ona zawierać domyślnie 80 znaków. Zwykle zmieniam go na 120 bez powodu, poza tym, że był to standard w firmie, w której pracowałem kilka lat temu, i żadna inna firma nie powiedziała mi, żebym robił to inaczej.
Moje pytanie brzmi: czy są jakieś badania, które faktycznie pokazują 80 znaków jako optymalną maksymalną szerokość dla czytelności kodu, czy też ta wartość jest po prostu „tak było zawsze” i nikt tak naprawdę nie wie, dlaczego tak jest? I czy szerokość linii kodu powinna być częścią twojego standardu kodowania?
code-readability
Fostah
źródło
źródło
Odpowiedzi:
Właściwie to 80-kolumnowa rzecz długo poprzedza DOS. Pochodzi z dziurkaczy, które były urządzeniami 80-kolumnowymi.
Aby w pewnym sensie odpowiedzieć na pytanie PO, od około 600 lat trwa jedno „badanie” - książka drukowana. Te ewoluowały na przestrzeni wieków, mając na uwadze przede wszystkim czytelność, do stanu, w którym się obecnie znajdujemy, gdzie średnia długość linii tekstu wynosi około 60 znaków. Więc dla czytelności wybierz węższe marginesy.
źródło
Miej litość nad programistami, którzy będą musieli później zajmować się Twoim oprogramowaniem i trzymaj się limitu 80 znaków.
Powody, dla których warto preferować 80:
Czytelny z większą czcionką na laptopach
Pozostawia miejsce na zestawienie dwóch wersji obok siebie w celu porównania
Pozostawia miejsce na widoki nawigacji w IDE
Wydruki bez arbitralnie przerywanych linii (dotyczy również wiadomości e-mail, stron internetowych itp.)
Ogranicza złożoność w jednej linii
Ogranicza wcięcia, co z kolei ogranicza złożoność metod / funkcji
Tak, powinno to być częścią standardu kodowania.
źródło
Limits the complexity in one line
Nie jestem pewien, dlaczego rozłożenie złożoności na wiele linii jest lepsze. Po prostu wpycha więcej na twój mentalny stos.Nie mam studiów, ale opowiem o swoim doświadczeniu.
Uważam, że przewijanie w poziomie jest uciążliwe podczas pracy z tekstem. Patrzę na środowisko, w którym będzie używany kod, i ustalam standardy szerokości w oparciu o ten kontekst.
Na przykład, kiedy pracowałem w Emacsie na XWindows, dobrze było mieć 2 okna Emacsa przez cały czas obok siebie . To ograniczyło ich do 80 znaków, więc taka była moja maksymalna długość linii.
W pewnym momencie pracowałem w Visual Studio na ekranie 1920x1200. Utrzymałbym go zmaksymalizowanym, ze wszystkimi oknami narzędzi zadokowanymi z jednej strony. Zostało wystarczająco dużo miejsca na dwa okna edytora obok siebie po około 100 znaków.
Uważam również, że najdłuższe wiersze pochodzą z wywołań metod z długimi listami parametrów . Czasami jest to zapach kodu : być może metoda powinna zostać refaktoryzowana .
Jeśli Ty i Twoi współpracownicy macie ekrany o wysokiej rozdzielczości i bystry wzrok, koniecznie używajcie małej czcionki i długich linii. I odwrotnie, możesz potrzebować krótkich linii.
źródło
Zwykle używam 120-150, chyba że firma określi inaczej. Zależy to jednak również od rodzaju kodu:
Jeszcze kilka lat temu ograniczyłem się do 100, ale teraz zwykle używa się panoramicznych ekranów, a monitory o wysokiej rozdzielczości 120 można nawet zobaczyć na laptopach (z których prawie nie korzystam).
Porównanie ekranu z książką nie jest dobre, ponieważ książka ma więcej przestrzeni w pionie, a ekran ma więcej przestrzeni w poziomie. Zawsze staram się, aby funkcja była max. jeden widoczny ekran.
źródło
Być może 80 postaci to również dobry punkt, aby uniknąć tych złych łańcuchów getterów:
jeśli ograniczysz to do 80 znaków, może ktoś zlokalizowałby te zmienne i sprawdziłby wartość null itp., ale może większość programistów pozwoliłaby im zawijać je w następnym wierszu. Nie wiem
Poza tym 80 postaci jest świetnych, jak wspomniano w Starblue. Powinno to zdecydowanie przejść do standardów kodowania.
źródło
Pomijając ograniczenia sprzętowe i wszelkie różnice w sposobie odczytywania kodu w porównaniu z językiem naturalnym, widzę trzy główne powody, dla których należy ograniczyć wiersze do około 80 znaków.
źródło
Wyraźnie pamiętam, że gdzieś czytałem (myślę, że było to w Dokumentacji Agile ), że dla optymalnej czytelności szerokość dokumentu powinna wynosić około dwóch alfabetów lub 60-70 znaków. Myślę, że szerokość linii starych terminali pochodziła częściowo z tej starej reguły typograficznej.
źródło
Opcja prawego marginesu ma na celu pokazanie szerokości strony, jeśli zamierzasz wydrukować kod, a wcześniej opublikowałeś informację, że jest ustawiona na 80, ponieważ taka była historycznie długość linii przed GUI, aż do punch karty.
Widziałem ostatnio na pewnym blogu zalecenie (nie pamiętam, który blog), aby zwiększyć rozmiar czcionki IDE w celu poprawy jakości kodu, logika jest taka, że jeśli mniej kodu mieści się na ekranie, napiszesz krótsze linie i funkcje shouter.
Moim zdaniem krótsze linie ułatwiają czytanie kodu i debugowanie, więc staram się, aby linie były krótkie, jeśli musisz ustawić limit, aby napisać lepszy kod, wybierz to, co działa dla Ciebie - również jeśli jesteś bardziej produktywny z dłuższe linie zachęcają do zwiększenia rozmiaru strony i kodu tylko na szerokich ekranach.
źródło
O ile mi wiadomo, 80 znaków jest używany jako standard kodowania w celu zachowania zgodności z edytorami wiersza poleceń (domyślna szerokość terminala to zwykle 80 znaków). Przy nowoczesnych IDE i dużych rozdzielczościach ekranu 80 znaków prawdopodobnie nie jest „optymalne”, ale dla wielu programistów utrzymanie czytelności terminala jest niezbędne. Z tego powodu jest mało prawdopodobne, aby szerokość 80 znaków została w najbliższym czasie zastąpiona de facto standardem szerokości kodu. Aby odpowiedzieć na ostatnie pytanie, tak, szerokość kodu, a także wszelkie inne cechy, które wpłyną na czytelność kodu, powinny być uwzględnione w standardach kodowania.
źródło
Jak niektórzy ludzie zauważyli w innych odpowiedziach, powód ograniczenia 80 znaków jest częściowo historyczny (karty dziurkowane, małe ekrany, drukarki itp.), A częściowo biologiczny (aby śledzić, w której linii się znajdujesz, ogólnie dobrze jest widzieć cały bez konieczności obracania głowy).
To powiedziawszy, pamiętaj, że nadal jesteśmy ludźmi i tworzymy narzędzia, aby rozwiązywać własne ograniczenia. Proponuję zignorować całą debatę na temat ograniczeń znaków i po prostu napisać rzeczy, które mają sens niezależnie od ich długości, i użyć IDE lub edytora tekstu, który pomoże ci prawidłowo śledzić linie. Używając tego samego argumentu dla wcięć w debacie tabs vs spacje, a także jak szerokie powinny być wcięcia, proponuję użyć znacznika wcięcia (najczęściej tabulatora) i po prostu poprosić ludzi o skonfigurowanie własnego IDE lub edytorów tekstu, aby je wyświetlić tak, jak im najbardziej odpowiada.
Trzymanie się ustalonej liczby znaków w linii zawsze pogorszy sytuację dla wszystkich poza grupą docelową. To powiedziawszy, jeśli nigdy nie udostępnisz kodu, nigdy; to naprawdę nie ma powodu, aby w ogóle rozpocząć tę dyskusję. Jeśli chcesz udostępnić kod, prawdopodobnie powinieneś pozwolić ludziom samodzielnie decydować, czego chcą, zamiast narzucać im swoje (lub kogoś innego) ideały.
źródło
Z https://en.wikipedia.org/wiki/Line_length
Powiedziałbym, że te same zasady dotyczące optymalnej długości linii w książkach mają zastosowanie do czytania kodu.
źródło