En la mayoría de los lenguajes tipo C, soy deliberado acerca de colocar mis llaves donde creo que hacen que el código sea más fácil de leer.
El analizador de PowerShell reconoce cuando una declaración claramente no está completa y mira a la siguiente línea. Por ejemplo, imagine un cmdlet que toma un parámetro de bloque de script opcional:
Get-Foo {............}
Si el bloque de script es muy largo, es posible que desee escribir:
Get-Foo
{
...............
...............
...............
}
Pero esto no funcionará: el analizador verá dos declaraciones. El primero es Get-Foo
y el segundo es un bloque de script. En cambio, escribo:
Get-Foo {
...............
...............
...............
}
Podría usar el carácter de continuación de línea (`) pero eso hace que el código sea difícil de leer e invita a los errores.
Como este caso requiere que la llave abierta esté en la línea anterior, sigo ese patrón en todas partes:
if (condición) {
.....
}
Tenga en cuenta que las if
declaraciones requieren un bloque de secuencia de comandos en la gramática del lenguaje, por lo que el analizador buscará en la siguiente línea el bloque de secuencia de comandos, pero para mantener la coherencia, mantengo la llave abierta en la misma línea.
De manera similar, en el caso de tuberías largas, rompo después del carácter de tubería ( |
):
$ project.Items |
? {$ _. Clave -eq "ProjectFile"} |
% {$ _. Value} |
% {$ _. EvaluatedInclude} |
% {
.........
}