Dlaczego PEP-8 określa maksymalną długość linii 79 znaków? [zamknięte]

Dlaczego w tym tysiącleciu Python PEP-8 powinien określać maksymalną długość linii 79 znaków?

Prawie każdy edytor kodu pod słońcem może obsługiwać dłuższe linie. Co zrobić z opakowaniem powinien być wybór konsumenta treści, a nie odpowiedzialność twórcy treści.

Czy są jakieś (legalne) dobre powody, aby trzymać się 79 znaków w tym wieku?

 167
Author: martineau, 2008-09-18

10 answers

Większość wartości PEP-8 polega na tym, aby powstrzymać ludzi przed kłótniami o nieistotne reguły formatowania i zacząć pisać dobry, konsekwentnie sformatowany kod. Oczywiście, nikt tak naprawdę nie uważa, że 79 jest optymalna, ale nie ma oczywistego zysku w zmianie go na 99 lub 119 lub jakąkolwiek preferowaną długość linii jest. Myślę, że wybór jest następujący: postępuj zgodnie z zasadą i znajdź wartościowy powód do walki lub podaj dane, które pokazują, jak czytelność i produktywność różnią się w zależności od długości linii. Na ten ostatni byłby niezwykle interesujący I miałby duże szanse na zmianę poglądów ludzi.

 87
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-05-08 09:29:40

Utrzymanie kodu czytelnego dla człowieka, a nie tylko dla maszyn. Wiele urządzeń nadal może wyświetlać tylko 80 znaków na raz. Ułatwia to również osobom z większymi ekranami wielozadaniowość, dzięki możliwości skonfigurowania wielu okien obok siebie.

Czytelność jest również jednym z powodów wymuszonego wcięcia linii.

 94
Author: Justin Bozonier,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-18 00:37:11

Jestem programistą, który na co dzień ma do czynienia z dużą ilością kodu. Open source i to, co zostało opracowane w domu.

Jako programista uważam za przydatne mieć wiele plików źródłowych otwartych naraz i często organizować mój pulpit na moim (panoramicznym) monitorze, tak aby dwa pliki źródłowe były obok siebie. Być może programuję w obu, albo po prostu czytam jedną i programuję w drugiej.

Uważam to za rozczarowujące i frustrujące, gdy jeden z tych plików źródłowych ma >120 znaków w szerokość, bo to oznacza, że nie mogę wygodnie zmieścić linii kodu na linii ekranu. Denerwuje formatowanie do zawijania linii.

Mówię "120", bo to poziom, do którego zirytowałbym się, że kod jest szerszy niż. Po tylu znakach powinieneś rozbijać linie pod kątem czytelności, nie mówiąc już o standardach kodowania.

Piszę kod z myślą o 80 kolumnach. To jest po to, że kiedy przeciekam przez tę granicę, to nie jest taka zła rzecz.

 34
Author: Jerub,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-18 00:44:24

Myślę, że ci, którzy studiują typografię powiedzieliby ci, że 66 znaków na linię ma być najbardziej czytelną szerokością dla długości. Mimo to, jeśli chcesz zdalnie debugować maszynę przez sesję ssh, większość terminali domyślnie ma 80 znaków, 79 po prostu pasuje, próba pracy z czymś szerszym staje się prawdziwym bólem w takim przypadku. Zdziwiłaby Cię również liczba programistów korzystających z ekranu vim + jako codziennego środowiska.

 33
Author: Sean O Donnell,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-04-19 02:05:33

Drukowanie czcionek jednoprzestrzennych w domyślnych rozmiarach to (na papierze A4) 80 kolumn w 66 liniach.

 18
Author: Josh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-18 00:47:09

79 znaków (właściwie 72 znaki) to miejsce, gdzie większość czytników e-mail opartych na tekście linewrap. Tak więc kod wycięty i wklejony do wiadomości e-mail jest o wiele bardziej czytelny.

 5
Author: Joe Shaw,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-18 03:58:56

Oto dlaczego lubię 80-znak z: w pracy używam Vima i pracuję na dwóch plikach naraz na monitorze działającym chyba w rozdzielczości 1680x1040 (nigdy nie pamiętam). Jeśli linie są dłuższe, mam problemy z odczytaniem plików, nawet przy użyciu zawijania Worda. Nie trzeba dodawać, że nienawidzę radzić sobie z cudzym kodem, ponieważ kochają długie linie.

 4
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-16 15:16:18

Ponieważ białe znaki mają znaczenie semantyczne w Pythonie, niektóre metody zawijania słów mogą generować nieprawidłowe lub niejednoznaczne wyniki, więc musi istnieć pewien limit, aby uniknąć takich sytuacji. Długość linii 80 znaków jest standardem, ponieważ używaliśmy teletypów, więc 79 znaków wydaje się dość bezpiecznym wyborem.

 3
Author: Chris Upchurch,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-18 00:39:19

Ponieważ jeśli przesuniesz go poza 80 kolumnę, oznacza to, że albo piszesz bardzo długą i złożoną linię kodu, która robi za dużo (i dlatego powinieneś refaktorować), albo że za dużo wciąłeś (i tak powinieneś refaktorować).

 2
Author: Stefano Borini,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-04-19 11:22:25

Zgadzam się z Justinem. Aby rozwinąć, zbyt długie linie kodu są trudniejsze do odczytania przez ludzi, a niektórzy ludzie mogą mieć szerokości konsoli, które mieszczą tylko 80 znaków w linii.

Rekomendacja stylu ma na celu zapewnienie, że pisany kod może być odczytany przez jak największą liczbę osób na jak największej liczbie platform i tak komfortowo, jak to tylko możliwe.

 1
Author: Readonly,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-18 00:40:22