Có cách viết mã khuyến nghị nào để viết các kịch bản PowerShell không? Đó là không phải về cách cấu trúc mã (số lượng chức năng, nếu sử dụng mô-đun, ...). Đó là về 'cách viết mã để có thể đọc được'.Phong cách mã hóa được khuyến nghị cho PowerShell là gì?
Trong các ngôn ngữ lập trình có một số khuyến cáo mã hóa phong cách (những gì để thụt, làm thế nào để thụt - dấu cách/tab, nơi để làm dòng mới, nơi để đặt niềng răng, ...), nhưng tôi chưa thấy bất kỳ gợi ý nào cho PowerShell.
Những gì tôi quan tâm đặc biệt trong:
Làm thế nào để viết các thông số
function New-XYZItem
([string] $ItemName
, [scriptblock] $definition
) { ...
(tôi thấy rằng nó giống như cú pháp 'V1') hoặc
function New-PSClass {
param([string] $ClassName
,[scriptblock] $definition
)...
hoặc (lý do 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 tôi thấy có lẽ trong mã Jaykul của)
function New-PSClass {
param(
[Parameter()]
[string]
$ClassName
,
[Parameter()]
[scriptblock]
$definition
)...
hay ..?
Làm thế nào để ghi đườ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 trên dòng mới)
Get-SomeData -param1 abc -param2 xyz |
% {
$temp1 = $_
1..100 |
% {
Process-somehow $temp1 $_
}
} |
% {
Process-Again $_
} |
Sort-Object -desc |
và những gì nếu có -begin params -end -process? làm thế 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
Get-SomeData -param1 abc -param2 xyz |
% `
-begin {
init
} `
-process {
Process-somehow2 ...
} `
-end {
Process-somehow3 ...
} |
% -begin {
} ....
các indentitation là quan trọng ở đây và những gì phần tử được đưa vào dòng sản phẩm mới là tốt.
Tôi chỉ đề cập đến các câu hỏi thường gặp trong đầu. Có một số người khác, nhưng tôi muốn giữ câu hỏi SO 'ngắn' này.
Bất kỳ đề xuất nào khác đều được hoan nghênh.
Tôi đoán việc thiếu kiểu mã hóa phổ biến cho tập lệnh PowerShell là do thực tế là nó liên quan nhiều hơn đến việc sử dụng quản trị thay vì mã hóa "thực". – Filburt
Bạn nói đúng. Tuy nhiên quản trị viên imho cần tập lệnh dễ đọc. Ví dụ, tôi không thích backticks, vì vậy tôi cố gắng tránh chúng. – stej
Đây là một câu hỏi hay. –