Swoją przygodę z PowerShell zacząłem ponad 7 lat temu. Wiedze głównie przyswajałem z książek oraz stosując metodę prób i błędów. Społeczność dopiero się rozwijała. Brakowało źródła, które pokazywały podstawy PowerShell i dobre praktyki.

Dlatego dzisiaj chciałbym się z Tobą podzielić 7 najlepszymi i według mnie podstawowymi praktykami, które warto stosować przy pisaniu skryptów PowerShell (ale i nie tylko).

1. Dodawaj pomocy

Rozpocznij skrypt lub funkcję blokiem pomocy. Minimalny zestaw to streszczenie, opis i co najmniej jeden przykład.

Osobiście dodaje również takie elementy jak autor, wersje, datę oraz słowa kluczowe, aby móc łatwiej znaleźć skrypt, który potrzebuję.

2. Komentarze

Dodawaj komentarze, ale nie przesadzaj. Komentarze mają pomagać w rozumieniu skryptów, a nie przeszkadzać.

3. Formatuj kod

Gdzieś słyszałem, że estetycznie kod, to kod z mniejszą ilością błędów. Myślę, że jest w tym sporo prawdy. Pamiętaj o wcięciach i wykorzystuj nowe linie do zwiększenia czytelności skryptu. Spójrz na przykład z punktu 2 i 3.

Jest różnica? Przejaskrawione ale to specjalnie.

4. Nazwy zmiennych i parametrów

Używaj prostych, ale jednoznacznych nazw zmiennych i parametrów. Unikaj mało lub nic niemówiących zmiennych typu $srv, $rp itp. Dodatkowo zapisuj je w czytelny sposób, np. stosując notacje camelCase lub PascalCase

Osobiście preferuję ten drugi zapis, czyli kolejne wyrazy piszę łącznie, rozpoczynając każdą wielką literą, np. $ProcessName

5. Unikaj aliasów

Nie używaj aliasów w skryptach. Pisz pełne nazwy polecenia z nazwami parametrów. Dzięki temu skrypty są czytelniejsze, łatwiejsze do zrozumienia.

6. Stosuj konwencje nazewniczą

Użyj konwencji nazewnictwa czasownik-rzeczownik dla swoich funkcji. Wybierając czasowniki, zawsze używaj czasowników standardowych. Użyj polecenia Get-Verb, aby zobaczyć, jakie czasowniki są dostępne.

Będzie to procentować, gdy zaczniesz swoje funkcje zamykać w moduły.

7. Stosuj unikalne nazwy funkcji

Sprawdzaj, czy nie jest identyczna z nazwą cmdletu lub funkcji z jakiegoś modułu. PowerShell nie będzie mieć nic przeciwko załadowania takiej funkcji, ale może spowodować spore zamieszanie. Ja praktykuję dodawanie prefiks przy rzeczowniku w nazwie funkcji.

Stąd zmiana nazwy z Stop-Process na Stop-AkProcess dla mojej funkcji.

Podsumowanie

Opisane podstawy PowerShell przede wszystkim pomagają dbać o czytelność, ale również jakość kodu. Takie praktyki jak komentarze, formatowanie bądź sensowne nazwy zmiennych i parametrów są uniwersalne niezależnie od języka programowania.

PS. Pisząc skrypty myśl o tym, że może ktoś inny będzie z tego korzystał (lub poprawiał), ale z drugiej strony nie przejmuj się za bardzo. Zawsze jest coś do poprawy.

Photo by Ben White on Unsplash

22 Najważniejsze Wskazówki Pisania Skryptów PowerShell

Mateusz Nadobnik

Zachwycony językiem skryptowym Windows PowerShell. Swoją wiedzę, doświadczenia i spostrzeżenia opisuję na blogu.

read more