Nota importante: esta pregunta no se trata de la superioridad de un estilo de arriostramiento sobre otro. Actualmente estoy cambiando de estilos para evaluar por mí mismo cuál creo que funciona mejor en mi situación, y me gusta Allman hasta 1TBS.1TBS para expresiones condicionales largas
Usuarios del estilo de refuerzo de 1TBS, ¿cómo formatear las condiciones largas en una declaración if
y el código subsiguiente?
if ((this_is_the_first_part_of_a_long_condition)
&& (the_second_part_is_shorter__wait_no_it_is_not)
&& (and_one_more_for_the_road)) {
here_comes_the_block_code();
}
Creo que debe haber una manera mejor. Mi forma actual es agregar una línea vacía antes de la primera línea del bloque de código. Allman tampoco se ve muy bien en este caso, aunque es más legible en mi opinión.
Otro ejemplo con for
bucles:
for (int relevant_counter_variable_name = START_VALUE;
intelligent_expression_that_may_include_the_counter_variable;
relevant_counter_variable_update) {
first_code_line_inside_the_block();
}
No tan agradable ...
KNF (8) espacios guión ayudarían aquí, pero me gustaría evitar eso. Tengo algunas otras opciones, pero me gustaría saber si hay algún tipo de forma estándar.
Este es exactamente el caso en el que cambiar temporalmente al estilo de Allman, y puse la llave de apertura en su propia línea alineada con la llave de cierre. Hay quienes gritarán y bromearán sobre "mezclar estilos", pero creo que es un código legible. (La última regla de la guía de George Orwell para escribir con claridad es "romper cualquiera de estas reglas en lugar de decir algo francamente bárbaro"). ¿Puedes decir por qué piensas que "no se ve muy bien"? – librik
@librik: aunque el inicio del bloque (corchete de apertura) no es realmente parte del 'si', me gusta el hecho de que Allman lo coloca justo debajo del primer caracter de la palabra clave. Mi ojo los junta, y lo hace muy rápido. Si la condición se extiende a través de varias líneas, el 'if' y el' {'se ven separados y puedo oírlos llorar. En serio, simplemente no parece tan obvio que están en la misma columna. – Gauthier
Aquí estoy con librik: es más importante hacer que el código sea legible que seguir mecánicamente un estilo. Ha encontrado casos en los que la "regla" tal vez debería verse como una recomendación: siga su estilo preferido, excepto cuando no funcione. Personalmente sigo el estilo Allman todo el tiempo, y no me he encontrado con esto. :-) –