Возможности опустить фигурные

Код из книги:

if (password.Length < 8)
 WriteLine("Your password is too short. Use at least 8 characters.");
else
 WriteLine("Your password is strong.");

Цитата из книги:

"Только из возможности опустить фигурные скобки не следует так делать. Ваш код не становится «более эффективным» без них, вместо этого он менее удобен в сопровождении и потенциально более уязвим."

Вопрос:

Почему так считает автор ?

Он так и не объяснил(, хотя я повсеместно вижу что используется использование без фигурных скобок.

Просто из за непривычки xD ?


Ответы (1 шт):

Автор решения: tym32167

Всё просто. Вот у вас код

if (a)
 doOne()

Вам надо добавить новую логику, типа doTwo(). Типичная ошибка, коих я видел миллиард

if (a)
 doOne()
 doTwo()

отступами отформатировали, но код не работает как предполагалось. Скобочки помогают четко видеть границы блоков кода, например

if (a)
{
 doOne()
}

Здесь будет сложно напутать

if (a)
{
 doOne()
 doTwo()
}

Вот и весь секрет. На скорость работы кода это не вляет, но влияет на читаемость. Потому я тоже в продакшене предпочитаю видеть скобочки всегда. Так даже проще - не надо в голове держать 2 модели (со скобками и без), можно держать одну модель (скобки всегда) - так и читается легче код и меньше ошибок.

→ Ссылка