Çoğu C benzeri dilde, parantezimi kodu okumayı en kolay hale getirdiklerini düşündüğüm yere yerleştirme konusunda kasıtlıyım.
PowerShell ayrıştırıcısı bir ifadenin açıkça tamamlanmadığını fark eder ve bir sonraki satıra bakar. Örneğin, isteğe bağlı bir komut dosyası bloğu parametresi alan bir cmdlet'i düşünün:
Get-Foo {............}
komut dosyası bloğu çok uzunsa, şunu yazmak isteyebilirsiniz:
Get-Foo
{
...............
...............
...............
}
Ancak bu işe yaramaz: ayrıştırıcı iki ifade görür. Birincisi Get-Foo
ve ikincisi bir komut dosyası bloğudur. Bunun yerine şunu yazıyorum:
Get-Foo {
...............
...............
...............
}
Satır devam karakterini (`) kullanabilirim, ancak bu okunması zor kodlar yapar ve hataları davet eder.
Bu durumda açık ayraç bir önceki satırda olmasını gerektirdiğinden, bu modeli her yerde takip ediyorum:
if (koşul) {
.....
}
if
İfadelerin dil dilbilgisinde bir komut dosyası bloğu gerektirdiğini unutmayın , bu nedenle ayrıştırıcı komut dosyası bloğu için bir sonraki satıra bakacaktır, ancak tutarlılık için açık kümeyi aynı satırda tutuyorum.
Aynı şekilde, uzun boru hatlarında, boru karakterinden ( |
) sonra koparım :
$ project.Items |
? {$ _. Anahtar -eq "ProjectFile"} |
% {$ _. Değer} |
% {$ _. EvaluatedInclude} |
% {
.........
}