Infinite loop
Що стається:
скрипт “вічний”
Причина:
умова ніколи не стає false
🛠 Rescue:
лічильник або break
Ідея:
будь-який цикл має мати вихід
Wrong condition operator (-eq vs -like)
Що стається:
умова не працює
Причина:
не той оператор
🛠 Rescue:
-eq (точно)
-like (шаблон)
Ідея:
оператор визначає логіку
Assignment instead of comparison
Що стається:
логіка “ламається тихо”
Причина:
помилка в умові
🛠 Rescue:
уважно перевіряти умови
Ідея:
один символ = інший результат
If with null values
Що стається:
умова працює дивно
Причина:
null поводиться неочікувано
🛠 Rescue:
if ($null -eq $var)
Ідея:
null перевіряється окремо
ForEach vs ForEach-Object confusion
Що стається:
різна поведінка
Причина:
це різні речі
🛠 Rescue:
ForEach = цикл
ForEach-Object = pipeline
Ідея:
контекст важливий
Break doesn’t exit where expected
Що стається:
цикл не завершується
Причина:
не той рівень break
🛠 Rescue:
розуміти вкладеність
Ідея:
break працює в межах блоку
Continue skips too much
Що стається:
частина логіки пропускається
Причина:
неправильне місце continue
🛠 Rescue:
логувати кроки
Ідея:
бачити, що пропускається
Switch behaves unexpectedly
Що стається:
виконується кілька варіантів
Причина:
switch у PowerShell не як у інших мовах
🛠 Rescue:
використовувати break у switch
Ідея:
switch тут особливий
Boolean confusion
Що стається:
if ($var) працює не так
Причина:
рядок ≠ true/false
🛠 Rescue:
[bool]$var
Ідея:
явне краще за неявне
Nested logic chaos
Що стається:
скрипт неможливо читати
Причина:
занадто багато вкладень
🛠 Rescue:
розбити на функції
Ідея:
простота = стабільність
☕ Золоте правило логіки
Якщо логіку складно прочитати —
вона вже небезпечна.😄