Trong hầu hết các ngôn ngữ giống như C, tôi cố tình đặt dấu ngoặc của mình vào nơi tôi nghĩ rằng chúng làm cho mã dễ đọc nhất.
Trình phân tích cú pháp của PowerShell nhận ra khi một câu lệnh rõ ràng chưa hoàn thành và tìm đến dòng tiếp theo. Ví dụ: hãy tưởng tượng một lệnh ghép ngắn có tham số khối tập lệnh tùy chọn:
Nhận-Foo {............}
nếu khối kịch bản quá dài, bạn có thể muốn viết:
Nhận-Foo
{
...............
...............
...............
}
Nhưng điều này sẽ không hoạt động: trình phân tích cú pháp sẽ thấy hai câu lệnh. Đầu tiên là Get-Foo
và thứ hai là một khối kịch bản. Thay vào đó, tôi viết:
Nhận-Foo {
...............
...............
...............
}
Tôi có thể sử dụng ký tự tiếp tục dòng (`) nhưng điều đó làm cho mã khó đọc và mời các lỗi.
Bởi vì trường hợp này yêu cầu niềng răng mở ở dòng trước, tôi theo mô hình đó ở mọi nơi:
nếu (điều kiện) {
.....
}
Lưu ý rằng các if
câu lệnh yêu cầu một khối tập lệnh trong ngữ pháp ngôn ngữ, vì vậy trình phân tích cú pháp sẽ tìm dòng tiếp theo cho khối tập lệnh, nhưng để thống nhất, tôi giữ dấu ngoặc mở trên cùng một dòng.
Simlarly, trong trường hợp đường ống dài, tôi ngắt sau ký tự đường ống ( |
):
$ dự án. Các mặt hàng |
? {$ _. Key -eq "ProjectFile"} |
% {$ _. Giá trị} |
% {$ _. Đánh giá giá trị} |
% {
.........
}