Aggiunta di una corretta indentazione di righe vuote (stile A in questione) migliora notevolmente la leggibilità del codice con display spazi abilitato perché rende più facile da vedere se il codice dopo una riga vuota è parte dello stesso blocco di rientro o meno.
Per un linguaggio come Python, in cui non esiste un'istruzione finale o parentesi chiusa, sono sorpreso che questo non faccia parte di PEP. Si consiglia vivamente di modificare Python con spazi bianchi di visualizzazione, per evitare sia spazi bianchi finali che indentazioni miste.
Confrontare leggendo la seguente:
A)
def foo():
....x = 1
....y = 2
....
....if True:
........bar()
B)
def foo():
....x = 1
....y = 2
....if True:
........bar()
In Un, è molto più chiaro che le ultime due righe sono parte di foo
. Questo è ancora più utile a livelli di rientro più elevati.
Ci sono buoni argomenti a favore di A - copia nella shell, B porta a problemi con alcuni editor. A meno che non ci siano problemi con A sembrerebbe essere il caso di "Un aiuto in alcuni casi, fa male a nessuno" e quindi A dovrebbe essere usato. – Ted
's/^ ([\ t] +) ([^ \ r \ n] *) (\ r? \ N) \ r? \ N/\ 1 \ 2 \ 3 \ 1 \ 3 /'. Ricerca: Cattura schede o spazi all'inizio di una riga, acquisisce tutti i caratteri non di nuova riga, se ce ne sono, acquisisci nuova riga, trova nuova linea *. Sostituisci: indentazione, contenuto di riga, nuova riga, rientranza, nuova riga. Avvertenza: se la linea di indentazione apre un nuovo blocco, la regex non lo rileva e pone semplicemente la riga successiva allo stesso livello di indentazione. * Ignoro il secondo formato di nuova riga e uso solo il precedente formato di nuova riga per promuovere la coerenza –