Chciałbym poznać zalecenia dotyczące niejawnego łączenia linii a jawnego łączenia linii w Pythonie.
W szczególności, czy wolisz jedną formę od drugiej? Co polecasz jako ogólne domyślne? Jakie masz kryteria wyboru jednego, a jeśli preferujesz jedno, kiedy robisz wyjątki dla drugiego?
Mam na myśli odpowiedź na to pytanie, która odzwierciedla moje uprzedzenia, ale zanim opublikuję własną odpowiedź, chciałbym wiedzieć, co myślą inni ... i jeśli możesz mieć lepszy zestaw kryteriów niż to, co mam na myśli, wtedy z pewnością zaakceptuję twoją odpowiedź nad własną.
Niektóre z rekomendacji można uogólnić na ten wybór w innych językach programowania, ale moja stronniczość jest nieco silniejsza w Pythonie ze względu na niektóre funkcje specyficzne dla języka, więc chciałbym poznać zarówno ogólne, jak i centralne rozumowanie Pythona, które możesz mieć na ten temat.
Na pewnym tle dyskusja toczyła się wokół konkretnego pytania na temat przepełnienia stosu , ale pomyślałem, że bardziej odpowiednie jest przeniesienie dyskusji tutaj jako pytania, aby uniknąć zaśmiecania odpowiedzi na SO za pomocą tej stycznej, ponieważ zmieniła temat z tematu oryginalne pytanie. Możesz spojrzeć na to pytanie i jego odpowiedzi na przykładowe fragmenty kodu, które wywołały dyskusję.
Oto uproszczony przykład:
join_type = "explicit"
a = "%s line joining" \
% (join_type)
# versus
join_type = "implicit"
b = ("%s line joining"
% (join_type))
Odpowiedzi:
Istnieje dokument w stylu kodowania o nazwie PEP8. Odradza stosowanie
\<NL>
wszędzie tam, gdzie można użyć nawiasów.Pełny tekst: http://www.python.org/dev/peps/pep-0008/ (sekcja Układ kodu)
Nie jest to obowiązkowe, ale określa akceptowalne dobre praktyki, które są szczególnie przydatne, jeśli masz w zespole wiele osób odpowiedzialnych za Python.
źródło
Zwykle używam niejawnego łączenia linii, ponieważ uważam, że jest bardziej czytelny, a wsparcie redaktorów jest zwykle lepsze w odniesieniu do wcięcia i wyróżnienia całego wyrażenia dzięki dopasowaniu nawiasów.
źródło
Obecnie wolałbym
B-))
.
Wolę łączyć jawne linie, ponieważ nie lubię bałaganu parenów na końcu wyrażeń.
Ale lubię łączenie linii niejawnych, aby zmniejszyć szerokość zajmowaną przez pisanie łańcucha.
W niektórych przypadkach wstydzę się nie mieszać dwóch sposobów
źródło