Pregunta

public void foo() {
    for (int i = 0; i < rows; i++)     // <--- no brace!
        for (j = 0; j < columns; j++)   // <--- no brace! 
            table[i][j] = new Blabla(i, j);
    other();
}

o esto:

public void foo() {
    for (int i = 0; i < rows; i++) {
        for (j = 0; j < columns; j++) {
            table[i][j] = new Blabla(i ,j);
        }
    }
    other();
}
¿Fue útil?

Solución

Es mejor incluir las llaves de lo contrario alguien podría añadir una línea adicional de pensar que será el interior del bucle, pero en realidad sólo se ejecutará una vez después de que se complete el bucle.

public void foo() {
    for (int i = 0; i < rows; i++)
        for(j = 0; j < columns; j++)
            table[i][j] = new Blabla(i, j);
            count++;                // <--- potential bug!
    other();
}

Otros consejos

El simple hecho es que el añadir los soportes inducirá a un menor número de errores. Creo que una vez formateado correctamente los fragmentos son igualmente legible.

Esto es una cuestión de gusto. Personalmente siempre uso corchetes, porque me gusta y me ha sido mordido por el "añadir otra declaración que termina fuera del bloque, ya que no se delimitó".

He crecido más indulgente, ya que ahora tiene como política para tener Eclipse, formatear todas las sourcefiles cada vez que se guardan (llamados Guardar acciones), por lo que el sangrado es siempre correcto y no engañar a pensar declaraciones son dentro de un bloque cuando están fuera. muy recomendable.

Siempre incluiría los curlies a menos que sea sólo una instrucción en el cuerpo de la de (o cualquier otra declaración como si / tiempo) y se puede ver que es un estilo más corto. Si deja las curlies en su caso, usted puede fácilmente cambiar el comportamiento del método, simplemente añadiendo una llamada a un método en el lugar equivocado, ya que creo que va a aterrizar en el cuerpo de la para.

El segundo es más fácil de leer.

Me puede hacer frente a la omisión de los frenos de un solo estado, pero la anidación es decir demasiado.

¿Se refiere al espacio antes de que el soporte en el bucle for?

Yo diría que personalmente no hay espacio allí, pero no me mantienen despierto por la noche. Lo más importante es ser constante.

muy simple para un código claro de esa manera, sin corsé.

si alguien viene y añade algo en un ámbito erróneo, sin prestar atención al código surrouding, sin dar ninguna segundo vistazo al nuevo código, yo no tendría que toque mi código nunca más.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top