Чи існує рекомендований стиль кодування, як писати сценарії PowerShell?
Справа не в тому, як структурувати код (скільки функцій, якщо використовувати модуль, ...). Йдеться про " як написати код, щоб він був читабельним ".
У мовах програмування є деякі рекомендовані стилі кодування (що робити відступи , як відступи - пробіли / вкладки, де створити новий рядок , де поставити фігурні дужки , ...), але я не бачив жодної пропозиції щодо PowerShell.
Мене цікавить зокрема:
Як записати параметри
function New-XYZItem
( [string] $ItemName
, [scriptblock] $definition
) { ...
(Я бачу, що це більше схоже на синтаксис 'V1')
або
function New-PSClass {
param([string] $ClassName
,[scriptblock] $definition
)...
або (навіщо додавати порожній атрибут?)
function New-PSClass {
param([Parameter()][string] $ClassName
,[Parameter()][scriptblock] $definition
)...
або (інше форматування, яке я бачив, можливо, в коді Джайкула)
function New-PSClass {
param(
[Parameter()]
[string]
$ClassName
,
[Parameter()]
[scriptblock]
$definition
)...
чи ...?
Як написати складний конвеєр
Get-SomeData -param1 abc -param2 xyz | % {
$temp1 = $_
1..100 | % {
Process-somehow $temp1 $_
}
} | % {
Process-Again $_
} |
Sort-Object -desc
або (назва командлета в новому рядку)
Get-SomeData -param1 abc -param2 xyz |
% {
$temp1 = $_
1..100 |
% {
Process-somehow $temp1 $_
}
} |
% {
Process-Again $_
} |
Sort-Object -desc |
А що , якщо є -begin
, -process
і -end
параметри? Як зробити його найбільш читабельним?
Get-SomeData -param1 abc -param2 xyz |
% -begin {
init
} -process {
Process-somehow2 ...
} -end {
Process-somehow3 ...
} |
% -begin {
} ....
або
Get-SomeData -param1 abc -param2 xyz |
% `
-begin {
init
} `
-process {
Process-somehow2 ...
} `
-end {
Process-somehow3 ...
} |
% -begin {
} ....
Тут важливий відступ, а також те, який елемент буде розміщено на новому рядку.
Я висвітлював лише ті питання, які дуже часто виникають у мене в голові. Є й деякі інші, але я хотів би, щоб це запитання щодо переповнення стека було коротким.
Будь-які інші пропозиції вітаються.