
Oczywistym celem każdego skryptu jest działanie zgodnie z założeniami. Często chęć skończenia skryptu jest tak duża, że zapominam o czytelności kodu lub komentarzach. Mówię wtedy, “dodam później” lub “napiszę to lepiej potem”. Potraficie sobie wyobrazić jak te “później” wygląda?
Dlatego chcę uczulić, że warto dbać o pewne rzeczy już od samego początku. To, czego unikam to wywołanie funkcji z kilkunastoma parametrami w jednej linii, co daje nam w rezultacie to, co niżej. Potrzebę przewijania w prawo.
Jednym z sposobów na to jest złamanie linii polecenia stosując znak “` (backtick) tak jak poniżej. Wygląda to już znacznie lepiej.
Po znaku końca linii nie może znaleźć się żaden inny znak, szczególnie uważaj na białe znaki. Taki szczegół spowoduje wywołanie polecenia z pominięciem parametrów.

Na szczęście można łatwiej i przejrzyście. W tym celu proponuję stosowanie splatting, jako metodę przekazywania parametrów do poleceń, funkcji PowerShell.
Czym jest Splatting?
Jak wyżej wspomniałem splatting to metoda przekazywania parametrów a dokładniej zbioru wartości parametrów do polecenia. Nazwy parametrów wraz z wartościami zapisuję się w tablicy mieszającej (hash tabel).
Jak zzauważyłeś przy samym wywołaniu polecenia znak dolara $
w nazwie zmiennej zastępujemy znakiem @
. Symbol @
informuję PowerShell, że przekazujesz zbiór wartości zamiast pojedynczej wartości. Wartości te zostaną skojarzone z parametrami wywołanego polecenia.
Możemy łączyć sposoby przekazywania parametrów, czyli dodawać parametry do funkcji, które nie znalazły się w tablicy. Jednak trzeba uważać na zduplikowanie parametrów.
3 zalety stosowania PowerShell Splatting
- Przede wszystki przejrzystość i czytelność kodu.
- Łatwość walidacji wartości parametrów przed wywołaniem polecenia.
- Możliwość ponownego wykorzystania zestawu parametrów, co skraca ilość kodu w skrypcie.
Format-ToSplatting
Taka forma zapisu jest przejrzysta, ale wymaga więcej czasu tym bardziej, że przygotowując taką tablice nie skorzystamy z Intellisense. Dlatego chce podzielić się z Tobą skryptem, który pomoże Ci w tym procesie.
Funkcja Format-ToSplatting
zwraca przygotowaną tablicę mieszającą wraz z opisami parametrów (jeśli istnieją) w miejscu dla naszych wartości. Wynik funkcji przekaż do schowka clip.exe
aby móc szybko wkleić wynik do swojej funkcji.
Funkcja Format-ToSplatting
wraz z innymi przykładami do pobrania tutaj.
No comments yet.