Encuentro el código más legible cuando las palabras clave (clave tanto sintáctica como lógicamente) están expuestas tanto como sea posible.
Esto es tan importante para mí que a veces recurro a (IMO) algo bastante poco convencional.
Aquí es lo que se pone así:
if (condition) then begin
statement;
...
statement; end
else begin
...
end;
admito, esto puede que sea un poco menos conveniente para modificar el código. Es solo que encuentro 'colgando' end
en el medio de una declaración if
, y alineado igual que el if
, algo confuso. Si es end
, debe ser el final (para la declaración); de lo contrario, espero else
o el comienzo de la siguiente declaración en esa posición.
Y normalmente no lo dejo cuando el bloque then
es compuesto, pero el else
es una sola declaración. Esto nunca es gran cosa conmigo para invertir la condición y reorganizar los bloques. Aún más, ya que soy bastante cerrado cuando se trata de envolver una sola declaración con begin ... end
s. Desde mi punto de vista y experiencia, la mayoría de los "comienzos finales son redundantes" al principio y al final más a menudo que no. Aunque me gusta cuando una declaración tiene una palabra clave de final explícita, así que case
y repeat
son mis favoritos de todos los tiempos. :)
Una cosa más sobre if
s (y while
s para el caso) es que en caso de una condición de incontables pisos tiendo a colocar then
(do
) en la línea siguiente y alineado en la palabra clave a partir de la declaración .
De esta manera:
if (some_long_conditional_expression) or
(some_other_long_conditional_expression) or
(some_even_longer_conditional_expression)
then
Exit;
También, hay algunas otras cosas ya mencionadas aquí, que soy ningún extranjero a, como else if
s-individuales alineados (en su caso) o for ... do with ... do try
s (sí, esto de nuevo puede tener algo que ver con mi naturaleza de fisting cerrado mencionada anteriormente).
En general, probablemente dependa demasiado del resaltado de código y la sangría, especialmente este último. Tal vez si no fuera por la sangría, preferiría siempre destacar el begin
s.
Otro punto: el estilo de formateo de alguien puede deberse a su estilo de programación. Al igual, algunas personas odian rutinas muy grandes y tienden a factorizar siempre que sea posible, mientras que otros prefieren concentrarse en el código y no importar los bloques compuestos que abarcan la pantalla. Encuentro que estos enfoques son muy diferentes, lo que puede dar lugar a hábitos de formato diferentes. .
Esto es casi exactamente el tipo de pregunta que Jeff describe en la sección "¿Qué tipo de preguntas no debo hacer aquí?" De la pregunta frecuente. –
No me parece nada malo. El formato del código es importante. – gabr
Creo que siempre y cuando la discusión se centre en las ventajas y desventajas de cada formato, está bien. Heck, Code Complete (uno de los libros favoritos de Jeff) cubre el formato del código en profundidad, así que obviamente es responsable. –