Каков рекомендуемый стиль кодирования для PowerShell?
Есть ли рекомендуемый стиль кодирования, как писать сценарии 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
)...
или (другое форматирование, которое я видел, возможно, в коде Jaykul)
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 {
} ....
Здесь важен отступ и то, какой элемент помещен на новую строку.
Я освещал только вопросы, которые приходят мне в голову очень часто. Есть и другие, но я бы хотел, чтобы этот вопрос переполнения стека был «коротким».
Любые другие предложения приветствуются.