Jaki jest zalecany styl kodowania dla PowerShell?

Czy jest jakiś zalecany styl kodowania do pisania skryptów PowerShell?

Jegonie o tym, jak ustrukturyzować kod (ile funkcji, jeśli użyć modułu, ...). To jest o 'jak napisać kod, aby był czytelny

W językach programowania jest ich trochęzalecane style kodowania (co doakapit, jak wciskać - spacje / tabulatory, gdzie robićNowa linia, gdzie umieścićszelki, ...), ale nie widziałem żadnych sugestii dotyczących PowerShell.

Jestem szczególnie zainteresowany:

Jak pisać parametry

function New-XYZItem
  ( [string] $ItemName
  , [scriptblock] $definition
  ) { ...

(Widzę, że jest to bardziej jak składnia „V1”)

lub

function New-PSClass  {
  param([string] $ClassName
       ,[scriptblock] $definition
  )...

lub (dlaczego dodać pusty atrybut?)

function New-PSClass  {
  param([Parameter()][string] $ClassName
       ,[Parameter()][scriptblock] $definition
  )...

lub (inne formatowanie widziałem może w kodzie Jaykula)

function New-PSClass {
  param(
        [Parameter()]
        [string]
        $ClassName
        ,
        [Parameter()]
        [scriptblock]
        $definition
  )...

lub ...?

Jak napisać złożony rurociąg

Get-SomeData -param1 abc -param2 xyz | % {
    $temp1 = $_
    1..100 | % {
      Process-somehow $temp1 $_
    }
  } | % {
    Process-Again $_
  } |
  Sort-Object -desc

lub (nazwa cmdletu w nowej linii)

Get-SomeData -param1 abc -param2 xyz |
  % {
    $temp1 = $_
    1..100 |
      % {
        Process-somehow $temp1 $_
      }
  } |
  % {
    Process-Again $_
  } |
  Sort-Object -desc |

A jeśli tak jest-begin, -process, i-end parametry? Jak uczynić to najbardziej czytelnym?

Get-SomeData -param1 abc -param2 xyz |
  % -begin {
     init
  } -process {
     Process-somehow2 ...
  } -end {
     Process-somehow3 ...
  } |
  % -begin {
  } ....

lub

Get-SomeData -param1 abc -param2 xyz |
  %  `
    -begin {
      init
    } `
    -process {
      Process-somehow2 ...
    } `
    -end {
      Process-somehow3 ...
    } |
  % -begin {
  } ....

Wcięcie jest tutaj ważne i jaki element jest również umieszczany w nowej linii.

Omówiłem tylko pytania, które często przychodzą mi na myśl. Jest kilka innych, ale chciałbym, aby to pytanie Przepełnienie stosu było „krótkie”.

Wszelkie inne sugestie są mile widziane.

questionAnswers(3)

yourAnswerToTheQuestion