Adición de sangrado adecuado a las líneas en blanco (estilo Un en la pregunta) mejora enormemente la legibilidad del código con el espacio en blanco la pantalla está activado, ya que hace que sea más fácil para ver si el código después de una línea en blanco es parte de la misma sangría de bloque o no.
Para un lenguaje como Python, donde no hay una declaración de cierre o un corchete cerrado, me sorprende que esto no sea parte de PEP. Se recomienda encarecidamente que se edite Python con espacios en blanco en pantalla, para evitar tanto el espacio en blanco al final como la indentación mixta.
Compare la lectura de los siguientes:
A)
def foo():
....x = 1
....y = 2
....
....if True:
........bar()
B)
def foo():
....x = 1
....y = 2
....if True:
........bar()
En Un, es mucho más claro que las dos últimas líneas son parte de foo
. Esto es incluso más útil en niveles de indentación más altos.
Hay buenos argumentos a favor de A - copiar en el shell, B lleva a problemas con algunos editores. A menos que también haya problemas con A, parecería ser un caso de "A ayuda en algunos casos, no duele en ninguno" y, por lo tanto, debería usarse A. – Ted
's/^ ([\ t] +) ([^ \ r \ n] *) (\ r? \ N) \ r? \ N/\ 1 \ 2 \ 3 \ 1 \ 3 /'. Buscar: capture pestañas o espacios al comienzo de una línea, capture los caracteres que no sean de línea nueva, si los hay, capturar nueva línea, buscar nueva línea *. Reemplazar: sangría, contenido de línea, nueva línea, sangría, nueva línea. Advertencia: si la línea de sangría abre un nuevo bloque, la expresión regular no detecta esto y simplemente coloca la siguiente línea en el mismo nivel de sangría. * Ignoo el segundo formato de línea nueva y simplemente uso el formato de línea nueva anterior para promover la coherencia –