Czy w Pythonie zazwyczaj używasz PEP 8 - Style Guide for Python Code jako standardów / wytycznych kodowania? Czy są jakieś inne sformalizowane standardy, które wolisz?
Czy w Pythonie zazwyczaj używasz PEP 8 - Style Guide for Python Code jako standardów / wytycznych kodowania? Czy są jakieś inne sformalizowane standardy, które wolisz?
Odpowiedzi:
„Czy w Pythonie generalnie używasz PEP 8 - Style Guide for Python Code jako standardy / wytyczne dotyczące kodowania? Czy są jakieś inne sformalizowane standardy, które wolisz?”
Jak wspomniałeś, postępuj zgodnie z PEP 8 dla tekstu głównego i PEP 257 dla konwencji dokumentowania
Wraz z przewodnikami po stylu Pythona proponuję zapoznać się z następującymi kwestiami:
Śledzę Pythona Idiomy i skuteczność wytycznych, Rob Knight. Myślę, że są dokładnie takie same jak PEP 8, ale są bardziej syntetyczne i oparte na przykładach.
Jeśli używasz wxPython, możesz również sprawdzić Przewodnik po stylach dla kodu wxPython autorstwa Chrisa Barkera.
Bardzo mocno trzymam się PEP-8.
Są trzy konkretne rzeczy, których nie chcę zmienić na PEP-8.
Unikaj zbędnych spacji bezpośrednio w nawiasach, nawiasach lub klamrach.
Zasugerował: spam(ham[1], {eggs: 2})
I tak robię to: spam( ham[ 1 ], { eggs: 2 } )
Czemu? Ponad 30 lat zakorzenionego nawyku jest sprzeczne z nazwami funkcji lub słowami kluczowymi (w C) wyrażeniach. Począwszy od Fortran IV w latach 70-tych.
Użyj spacji wokół operatorów arytmetycznych:
Zasugerował: x = x * 2 - 1
I tak robię to: x= x * 2 - 1
Czemu? The Science of Programming Griesa zasugerowała to jako sposób na podkreślenie związku między przypisaniem a zmienną, której stan się zmienia.
Nie działa dobrze w przypadku przypisania wielokrotnego lub przydziału rozszerzonego, ponieważ używam wielu spacji.
W przypadku nazw funkcji, nazw metod i nazw zmiennych instancji
Sugerowane: małe litery, ze słowami oddzielonymi podkreśleniami, jeśli to konieczne, aby poprawić czytelność.
I tak robię to: camelCase
Czemu? Ponad 20 lat zakorzenionego nawyku CamelCase, począwszy od Pascala w latach 80-tych.
PEP 8 jest dobry, jedyną rzeczą, na którą chciałbym, żeby był trudniejszy, była święta wojna Tabs-vs-Spaces.
Zasadniczo, jeśli zaczynasz projekt w Pythonie, musisz wybrać Tabs lub Spaces, a następnie strzelać do wszystkich przestępców, gdy tylko zobaczysz.
Aby dodać do listy idiomatycznych przewodników Bhadry :
Sprawdź prezentację Anthony'ego Baxtera na temat efektywnego programowania w Pythonie (z OSON 2005).
Fragment:
# dict's setdefault method turns this:
if key in dictobj:
dictobj[key].append(val)
else:
dictobj[key] = [val]
# into this:
dictobj.setdefault(key,[]).append(val)
Przestrzegam tego niezwykle rygorystycznie. Jedynym bogiem przed PEP-8 są istniejące bazy kodowe.
Podążam za PEP8, to świetny element stylu kodowania.