2016-01-19 12 views
5

Piszę w Pythonie 3.5.1 i jestem początkującym programistą.Jak postępować zgodnie z python PEP8 w odniesieniu do podziałów linii i jak ważne jest to?

Używam gedit z wtyczkami pep8 i pyflakes pokazującymi błędy stylu zgodnie z python style guide. Nie wiem, czy zastosować się do zalecenia dotyczącego stylu, czy też nie.

Mam jednak trzy powtarzające się wady stylu wskazane przez E501: line too long (80 > 79 characters), E502: the backslash is redundant between brackets i E128/E127/...: continuation line under-indented for visual indent. Zrzuty ekranu poniżej.

Moje dwa pytania:

  1. W jaki sposób można odpowiednio dokonać podział wiersza w Pythonie w celu uniknięcia E501 i kolejnych błędów typu E502 i E127/128?
  2. Czy pomocne jest stosowanie się do listu motywów przewodnika stylu, zwłaszcza z myślą o publikacji? Co mówią zaawansowani programiści?

E501: enter image description here

E502: enter image description here

E 127/128 ...: enter image description here

+3

"Z myślą o publikacji", tak, absolutnie, postępuj zgodnie ze wskazówkami dotyczącymi stylu. Bez wyjątków; istnieją standardy wzajemnej zrozumiałości. Jeśli nie podoba Ci się przewodnik po stylu, prześlij nową PEP; w takim przypadku spodziewamy się, że zostanie odrzucony. – msw

+0

Dlaczego to zostało zamknięte? Istnieje doskonała odpowiedź na pytanie o punkt 2, jak robić przerwy w linii, które będą do zaakceptowania przez PEP8. Edytuj - pod warunkiem, że @msw jest już dostępny. –

+0

Mój 2c wart: 1. Zdecydowanie nie używaj kontynuacji odwrotnej kreski, gdy jej nie potrzebujesz, np. W nawiasach wewnętrznych. 2. Twoje wcięcie w tych stałych liniach jest o wiele za duże. 3. Wiele osób traktuje tę kwestię jako sugestię, a nie jako sztywne ograniczenie, ponieważ współczesne monitory są dużo większe niż kiedyś. OTOH, trzymanie się standardu sprawi, że Twój kod będzie wyglądał lepiej w wielu miejscach, w tym na SO. –

Odpowiedz

5

„Jak mogę złożyć odpowiedni podział wiersza w Pythonie w celu uniknięcia E501 i kolejne błędy stylu E502 i E127/128? "

progress = Utils.ProgressMeter('Source strings separated by white ' 
    'space are automatically concatenated by the ' 
    'interpreter and parenthesis are the natural syntax ' 
    'for line continuation. Remember to use trailing ' 
    'spaces.') 

Od błąd E502 jest już wewnątrz nawiasów, backslash jest zbędny. Czy próbowałeś go wyeliminować?

Powiązane problemy