Raccomandazioni per l'unione di linee implicite contro quelle esplicite

9

Vorrei sapere i consigli su Partecipazione implicita alla linea contro Integrazione riga esplicita in Python.

In particolare, preferisci una forma all'altra? Cosa consiglia come predefinito generale? Quali criteri hai per sceglierne uno rispetto all'altro e se ne hai una preferita, quando fai delle eccezioni per l'altro?

Ho una risposta in mente per questa domanda che riflette i miei pregiudizi, ma prima di pubblicare la mia risposta vorrei sapere cosa pensano gli altri ... e se puoi avere una serie di criteri migliori di quella che ho in mente, allora accetterò certamente la tua risposta per conto mio.

Alcune delle raccomandazioni possono essere generalizzate a questa scelta in altri linguaggi di programmazione, ma il mio pregiudizio è un po 'più strong in Python a causa di alcune caratteristiche specifiche della lingua, quindi mi piacerebbe sapere sia il generale che il Python-centric ragionamento che potresti avere su questo argomento.

Per alcuni retroscena, la discussione è avvenuta attorno a una domanda sullo stackoverflow , ma ho pensato che fosse più appropriato spostare la discussione qui come una domanda per evitare di ingombrare la risposta su SO con questa tangente poiché ha virato fuori tema dalla domanda originale. Puoi guardare la domanda e le sue risposte per gli esempi di frammenti di codice che hanno portato la discussione in corso.

Ecco un esempio semplificato:

join_type = "explicit"
a = "%s line joining" \
    % (join_type)
# versus
join_type = "implicit"
b = ("%s line joining"
     % (join_type))
    
posta aculich 28.12.2011 - 09:56
fonte

3 risposte

8

C'è un documento in stile di codifica chiamato PEP8. Si consiglia di non utilizzare \<NL> laddove è possibile utilizzare le parentesi.

The preferred way of wrapping long lines is by using Python's implied line continuation inside parentheses, brackets and braces. Long lines can be broken over multiple lines by wrapping expressions in parentheses. These should be used in preference to using a backslash for line continuation. Make sure to indent the continued line appropriately. The preferred place to break around a binary operator is after the operator, not before it.

Testo completo: link (sezione Layout del codice)

Non è obbligatorio, ma definisce le buone pratiche accettabili che sono particolarmente utili se hai più committer Python nella tua squadra.

    
risposta data 28.12.2011 - 11:18
fonte
1

Tendo a utilizzare l'unione implicita della linea perché la trovo più leggibile e il supporto degli editor di solito è migliore per quanto riguarda l'indentazione e l'evidenziazione dell'intera espressione grazie alla corrispondenza tra parentesi.

    
risposta data 28.12.2011 - 13:29
fonte
0

Attualmente preferirei

join_type = "kiding"
a = "%s line joining" % (join_type)

B -))

.

Tendo a preferire le linee esplicite che si uniscono perché non mi piace la confusione di parenti alla fine delle espressioni.
Ma mi piace l'unione implicita delle linee per ridurre la larghezza occupata dalla scrittura di una stringa.
Quindi, in alcuni casi, sono imbarazzato a non mescolare i due modi

    
risposta data 28.12.2011 - 10:47
fonte

Leggi altre domande sui tag