Có bất kỳ kiểu viết mã nào được khuyến nghị về cách viết tập lệnh PowerShell không?
Nó không phải là về cách cấu trúc mã (bao nhiêu chức năng, nếu sử dụng mô-đun, ...). Đó là về ' cách viết mã để nó có thể đọc được '.
Trong các ngôn ngữ lập trình, có một số kiểu mã hóa được khuyến nghị ( thụt lề cái gì , cách thụt lề - dấu cách / tab, nơi tạo dòng mới , nơi đặt dấu ngoặc nhọn , ...), nhưng tôi chưa thấy gợi ý nào cho PowerShell.
Tôi đặc biệt quan tâm đến:
Cách viết tham số
function New-XYZItem
( [string] $ItemName
, [scriptblock] $definition
) { ...
(Tôi thấy rằng nó giống với cú pháp 'V1' hơn)
hoặc là
function New-PSClass {
param([string] $ClassName
,[scriptblock] $definition
)...
hoặc (tại sao phải thêm thuộc tính trống?)
function New-PSClass {
param([Parameter()][string] $ClassName
,[Parameter()][scriptblock] $definition
)...
hoặc (định dạng khác mà tôi có thể thấy trong mã của Jaykul)
function New-PSClass {
param(
[Parameter()]
[string]
$ClassName
,
[Parameter()]
[scriptblock]
$definition
)...
hoặc là ...?
Cách viết một đường dẫn phức tạp
Get-SomeData -param1 abc -param2 xyz | % {
$temp1 = $_
1..100 | % {
Process-somehow $temp1 $_
}
} | % {
Process-Again $_
} |
Sort-Object -desc
hoặc (tên của lệnh ghép ngắn trên dòng mới)
Get-SomeData -param1 abc -param2 xyz |
% {
$temp1 = $_
1..100 |
% {
Process-somehow $temp1 $_
}
} |
% {
Process-Again $_
} |
Sort-Object -desc |
Và nếu có -begin
, -process
và -end
các thông số? Làm cách nào để làm cho nó dễ đọc nhất?
Get-SomeData -param1 abc -param2 xyz |
% -begin {
init
} -process {
Process-somehow2 ...
} -end {
Process-somehow3 ...
} |
% -begin {
} ....
hoặc là
Get-SomeData -param1 abc -param2 xyz |
% `
-begin {
init
} `
-process {
Process-somehow2 ...
} `
-end {
Process-somehow3 ...
} |
% -begin {
} ....
Ở đây thụt lề rất quan trọng và yếu tố nào cũng được đưa vào dòng mới.
Tôi chỉ đề cập đến những câu hỏi thường xuyên xuất hiện trong đầu tôi. Có một số câu hỏi khác, nhưng tôi muốn giữ câu hỏi Stack Overflow này 'ngắn gọn'.
Những đề nghị khác dều được hoan nghênh.