na monitorze szerokoekranowym można łatwo zobaczyć więcej niż 80 znaków jednocześnie, bez pasków przewijania. nawet linus torvalds uważa limit 80 znaków za przestarzały .
więc czy limit 80 znaków nadal obowiązuje w czasach monitorów szerokoekranowych?
coding-style
lesmana
źródło
źródło
Odpowiedzi:
Istnieje kilka powodów, aby nadal przestrzegać limitu 80 znaków (lub limit 74 znaków jest jeszcze lepszy; pozwala to kodowi pozostać mniej niż 80 kolumn, nawet jeśli dodawane są znaczniki różnic i cytowanie wiadomości e-mail, jeśli przeglądasz kod na listy mailingowe).
Nawet w erze monitorów szerokoekranowych lubię mieć kilka otwartych okien obok siebie, pokazujących różne części kodu. Na przykład zazwyczaj mam przeglądarkę internetową i pocztę elektroniczną otwarte na jednym ekranie oraz dwa pliki i terminal otwarty obok siebie na drugim monitorze. Jeśli masz wiersze o długości ponad 80 kolumn, musisz poradzić sobie z tym, że edytor zawija je (co jest brzydkie i utrudnia poruszanie się po kodzie) lub poszerzasz okna tak, że nie zmieścisz tylu na ekranie pewnego razu.
Nawet jeśli zwykle nie edytujesz w ten sposób, jeśli kiedykolwiek korzystasz z narzędzia porównywania, docenisz pliki o rozsądnej długości linii, które ułatwią przeglądanie pliku diff.
Istnieje również problem z gęstością kodu. Lubię mieć duży kontekst podczas czytania kodu. O wiele szybsze jest przeglądanie okna niż przewijanie. Jeśli masz bardzo długie linie, często masz również linie o różnej długości, co prowadzi do wielu zmarnowanych nieruchomości ekranowych i jest w stanie zmieścić mniej kodu na ekranie w danym momencie ogółem.
I wreszcie, jeśli masz bardzo długie linie, oznacza to na ogół, że masz bardzo skomplikowane linie, głębokie oskarżenia lub że masz bardzo długie identyfikatory. Wszystko to może stanowić problem. Skomplikowane linie prawdopodobnie robią za dużo; jeśli możesz podzielić go na kilka prostszych linii, prawdopodobnie powinieneś. Głębokie wcięcie oznacza, że prawdopodobnie zagnieżdżasz zbyt wiele pętli i instrukcji warunkowych, co może powodować, że przepływ kodu jest mylący; rozważenie refaktoryzacji na kilka funkcji. A jeśli twoje identyfikatory są zbyt długie, może to bardzo utrudnić odczytanie kodu. Ludzie na ogół rozpoznają słowa jako pojedyncze jednostki; nie czytają każdego znaku jeden po drugim, ale patrzą na ogólny kształt słowa. Długie identyfikatory są trudniejsze do rozróżnienia w ten sposób i zwykle, jeśli są takie długie, zawierają zbędne lub powtarzające się informacje.
Teraz, mimo że nadal dobrą praktyką jest utrzymywanie kodu poniżej 80 kolumn, nie jest to jedna z tych zasad, których należy przestrzegać religijnie, zmuszając się do dopasowania linii, gdy tak nie jest. Sugeruję, abyś starał się trzymać cały kod poniżej 80 kolumn, ale jeśli po prostu nie pasuje, nie przejmuj się zbytnio.
źródło
std::vector<...>::const_iterator
), Chociaż w tym drugim przypadku rzeczy zwykle można złagodzić za pomocą typedefs.Jeśli utrzymam moje wiersze do mniej niż około 100 znaków, mogę mieć dwa okna edytora obok siebie na szerokoekranowym monitorze. Bardzo przydatne jest, aby zarówno plik nagłówka klasy, jak i implementacja były widoczne jednocześnie, lub mieć kod po jednej stronie, który wywołuje kod po drugiej stronie. A jeśli utrzymam krótkie linie, nie potrzebuję poziomego paska przewijania w oknach edytora, co daje mi więcej miejsca w pionie.
80 znaków może być nieaktualnych, ale warto zachować rozsądek.
źródło
Nie sądzę, żeby monitor miał z tym coś wspólnego - przynajmniej już nie.
Jeśli nie możesz zakodować wiersza składającego się z 80 znaków, to i tak prawdopodobnie oznacza to zły kod. Zbyt złożone wyrażenia. Zbyt głębokie wcięcie. itp. Powinieneś przestać i przemyśleć to, co robisz.
Ale jeśli masz pewność, że kod wymaga więcej niż 80 wierszy, to zrób to. Myślę, że lepiej jest mieć kod, który przekracza 80 znaków, niż dodawać idiomatyczne zmiany tylko po to, aby go zmniejszyć.
Osobiście nienawidzę tego rodzaju rzeczy:
Zamiast po prostu:
źródło
Do kodowania?
Z pewnością tak. Normalny człowiek nie umie czytać zbyt szeroko. Przy kilku kolumnach mniej poruszasz oczami, lepiej się koncentrujesz i opóźniasz zmęczenie. To minimalny zysk, ale ważny.
źródło
Tak, istnieją powody, aby ograniczyć długość linii kodu:
To powiedziawszy, 80 to trochę za mało. Ale nadal pewne ograniczenia są prawdopodobnie dobrym pomysłem jako zasada projektowania.
Powiedziałbym, że wyjątkowo długie linie nie powinny być niedozwolone, ponieważ czasami są one konieczne. Ale jeśli większość funkcji jest widoczna tylko na 30-calowym ekranie, wówczas kod ma pewne problemy.
źródło
Jest to arbitralne, ale istnieje ograniczenie do tego, co jest łatwe do odczytania. Uważam, że bardzo szerokie kolumny tekstu są bardzo trudne do zeskanowania i odczytania, niezależnie od tego, czy są to kod, czy proza. Ponadto, jak zauważyło wiele innych odpowiedzi, nie jest tak, że ten kod będzie jedyną rzeczą na ekranie. Wspaniale jest mieć dwa lub więcej okien kodu jednocześnie i dopasować je do jednego monitora szerokiego ekranu.
źródło
Prawdopodobnie nie jest właściwe wybranie limitu dokładnie 80 znaków; co by się zmieniło, gdyby na przykład limit wynosił 85?
To prawda, że używane obecnie monitory mają wyższą rozdzielczość, ale w edytorze tekstu / IDE nie całe miejsce zajmuje widok tekstowy; w edytorze używam pokazuje po lewej stronie listę plików zawartych w projekcie.
Rozdzielczość zastosowana w netbooku lub notebooku nie jest taka sama, jak w monitorach; prawdopodobnie warto zastosować limit znaków, który nikomu nie stwarza „problemów”.
źródło
To zależy od środowiska programistycznego.
Na przykład w dużej korporacji z tysiącami programistów prawdopodobnie są setki osób, które w ciągu życia produktu będą musiały przyjrzeć się pewnej części jego kodu. Przy tak wielu ludziach z pewnością znajdzie się kilku, którzy z dowolnego powodu (starszy sprzęt, netbooki itp.) Działają w rozdzielczości 800x600 lub mniejszej. Dostosowanie ich ma pewną wartość.
Jednak w mojej 25-osobowej firmie mówię to pieprzyć. Wszyscy używamy podwójnych nowoczesnych monitorów w maksymalnej rozdzielczości - 120-140 lub mniej więcej jest to nieformalna wytyczna.
źródło
Posiadanie pewnego limitu z pewnością ma sens. Ale limit 80 znaków jest zbyt ograniczający. Wolę coś w rodzaju limitu 96 znaków. Jest wystarczająco szeroki dla większości kodu, z którym mam do czynienia i jest wystarczająco wąski, aby dwa pliki mogły być umieszczone obok siebie w celu różnicowania (na szerokim ekranie).
Uważam, że czytelność kodu przebija wszelkie inne obawy. A przy 96 znakach w wierszu kod może być znacznie bardziej czytelny niż przy 80.
Nie kupuję argumentu, że większość ludzi ustawia terminale na szerokość 80 znaków, nie, że drukarki muszą zawijać linie dłuższe niż 80 znaków. To nie jest twardy limit, jak kiedyś (odległej) przeszłości. Możesz łatwo ustawić terminal i szerokość drukarki na 100 znaków.
źródło
Nie, nie ma już znaczenia:
80 znaków było naprawdę wskazówką dla czcionek o stałej szerokości w środowisku konsoli.
Oczywiście, jeśli nadal używasz czcionki o stałej szerokości w środowisku konsoli ... to na pewno rozsądne jest 80 znaków :)
źródło
Jeśli używasz edytora w interfejsie GUI, 80 znaków w wierszu nie ma znaczenia, ponieważ większość porządnych edytorów - na przykład Notepad ++ - ma przycisk do przełączania zawijania linii. Dzięki temu nie powinno stanowić problemu, nawet podczas przeglądania kodu w cienkim oknie.
źródło