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

Рейтинг: 0Ответов: 1Опубликовано: 18.03.2023

Код из книги:

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

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

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

Вопрос:

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

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

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

Ответы

▲ 3Принят

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

if (a)
 doOne()

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

if (a)
 doOne()
 doTwo()

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

if (a)
{
 doOne()
}

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

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

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