Фигурные скобки после условия if - PullRequest
0 голосов
/ 03 мая 2018

В powershell мы столкнулись со специфической проблемой, когда оператор работал в системе, а не в другой

if (condition)
    DoSomething

Отсутствует блок операторов после if (условие)

Я знаю, что могу исправить, добавив фигурные скобки { DoSomething }, но мне нужно выяснить, почему это произошло. Это обновление синтаксиса Powershell, которое работало на одном, а не на другом?

PS версия, где она работала

enter image description here

1 Ответ

0 голосов
/ 03 мая 2018

Я пытался повторить это, но не смог ни в одном из моих окон Windows, Windows 7, 8.1 и последних 10 (1803).

Однако лично я считаю, что писать код вроде

if(condition)
    Statement

быть плохой практикой.

Представьте себе, что произойдет, если вы закомментируете это Statement.

if(condition)
    //Statement
OtherStatement

Если вы не будете осторожны, вы можете потенциально заставить оператор if нацелиться на какой-то совершенно другой код, который вы не намеревались, и таким образом внести ошибку.

Если вам абсолютно необходимо иметь оператор if без фигурных скобок, тогда

if(condition) Statement

будет чище и менее подвержено ошибкам. Однако я все же предпочитаю всегда использовать { и } в любом условном выражении.

...