Standard / best practice di codifica Python [chiuso]


116

In python usi generalmente PEP 8 - Style Guide for Python Code come standard / linee guida di codifica? Ci sono altri standard formalizzati che preferisci?


1
//, La sollecitazione delle "preferenze del pubblico" potrebbe sembrare innocua, all'inizio, ma trasforma lo stackoverflow in un meccanismo di votazione, una sorta di democrazia perversa di pochi contro molti. "Ci sono altri ________ che preferisci?" è, letteralmente, chiedere loro una preferenza, non un fatto.
Nathan Basanese,

Risposte:




8

Mi attengo molto a PEP-8.

Ci sono tre cose specifiche che non posso preoccuparmi di cambiare con PEP-8.

  • Evita spazi bianchi estranei immediatamente tra parentesi, parentesi o parentesi graffe.

    consigliato: spam(ham[1], {eggs: 2})

    Lo faccio comunque: spam( ham[ 1 ], { eggs: 2 } )

    Perché? Più di 30 anni di abitudini radicate si scontrano con i nomi delle funzioni o le parole chiave delle istruzioni (in C). A partire da Fortran IV negli anni '70.

  • Usa spazi intorno agli operatori aritmetici:

    consigliato: x = x * 2 - 1

    Lo faccio comunque: x= x * 2 - 1

    Perché? La scienza della programmazione di Gries ha suggerito questo come un modo per enfatizzare la connessione tra l'assegnazione e la variabile il cui stato viene modificato.

    Non funziona bene per assegnazioni multiple o assegnazioni aumentate, per questo utilizzo molti spazi.

  • Per nomi di funzioni, nomi di metodi e nomi di variabili di istanza

    Consigliato: minuscolo, con parole separate da trattini bassi se necessario per migliorare la leggibilità.

    Lo faccio comunque: camelCase

    Perché? Oltre 20 anni di abitudine radicata di camelCase, a partire da Pascal negli anni '80.


1
Questo è un ottimo contenuto! codingstyleguide.com o codereview.stackexchange.com sarebbe un bel posto per avere queste ottime linee guida.
Pompeyo

5

PEP 8 è buono, l'unica cosa su cui vorrei fosse più difficile è stata la guerra santa Tabs-vs-Spaces.

Fondamentalmente se stai iniziando un progetto in Python, devi scegliere Tabs o Spaces e poi sparare a tutti i trasgressori a vista.


4
Tabulazioni o spazi? Da PEP8: gli spazi sono il metodo di indentazione preferito. Le tabulazioni devono essere utilizzate esclusivamente per rimanere coerenti con il codice già rientrato con le tabulazioni.
Il Demz

//, PEP8 è abbastanza chiaro che gli spazi sono il metodo di indentazione preferito, Ryan. Downvoted. Tuttavia, aggiorneresti la risposta?
Nathan Basanese,

5

Per aggiungere alla lista di guide idiomatiche di bhadra :

Controlla la presentazione di Anthony Baxter sulla programmazione Python efficace (da OSON 2005).

Un estratto:

# 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)

4

Lo seguo in modo estremamente rigoroso. L'unico dio prima di PEP-8 sono le basi di codice esistenti.


1
e vorrei notare che PEP-8 prende in considerazione anche le basi di codice esistenti.
John Mulder

2

Sì, cerco di seguirlo il più da vicino possibile.

Non seguo altri standard di codifica.


1

Seguo il PEP8, è un ottimo pezzo di stile di codifica.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.