Dans la plupart des langages de type C, je souhaite délibérément placer mes accolades là où je pense qu'elles rendent le code plus facile à lire.
L'analyseur de PowerShell reconnaît quand une instruction n'est clairement pas terminée et regarde la ligne suivante. Par exemple, imaginez une applet de commande qui accepte un paramètre de bloc de script facultatif:
Get-Foo {............}
si le bloc de script est très long, vous voudrez peut-être écrire:
Get-Foo
{
...............
...............
...............
}
Mais cela ne fonctionnera pas: l'analyseur verra deux déclarations. Le premier est Get-Foo
et le second est un bloc de script. Au lieu de cela, j'écris:
Get-Foo {
...............
...............
...............
}
Je pourrais utiliser le caractère de continuation de ligne (`) mais cela rend le code difficile à lire et invite les bogues.
Parce que ce cas nécessite que l'accolade ouverte soit sur la ligne précédente, je suis ce modèle partout:
si (condition) {
.....
}
Notez que les if
instructions nécessitent un bloc de script dans la grammaire du langage, donc l'analyseur recherchera la ligne suivante pour le bloc de script, mais pour des raisons de cohérence, je garde l'accolade ouverte sur la même ligne.
De même, dans le cas de longs pipelines, je casse après le caractère pipe ( |
):
$ project.Items |
? {$ _. Key -eq "ProjectFile"} |
% {$ _. Valeur} |
% {$ _. EvaluatedInclude} |
% {
.........
}