Возможности опустить фигурные
Код из книги:
if (password.Length < 8)
WriteLine("Your password is too short. Use at least 8 characters.");
else
WriteLine("Your password is strong.");
Цитата из книги:
"Только из возможности опустить фигурные скобки не следует так делать. Ваш код не становится «более эффективным» без них, вместо этого он менее удобен в сопровождении и потенциально более уязвим."
Вопрос:
Почему так считает автор ?
Он так и не объяснил(, хотя я повсеместно вижу что используется использование без фигурных скобок.
Просто из за непривычки xD ?
Ответы (1 шт):
Всё просто. Вот у вас код
if (a)
doOne()
Вам надо добавить новую логику, типа doTwo(). Типичная ошибка, коих я видел миллиард
if (a)
doOne()
doTwo()
отступами отформатировали, но код не работает как предполагалось. Скобочки помогают четко видеть границы блоков кода, например
if (a)
{
doOne()
}
Здесь будет сложно напутать
if (a)
{
doOne()
doTwo()
}
Вот и весь секрет. На скорость работы кода это не вляет, но влияет на читаемость. Потому я тоже в продакшене предпочитаю видеть скобочки всегда. Так даже проще - не надо в голове держать 2 модели (со скобками и без), можно держать одну модель (скобки всегда) - так и читается легче код и меньше ошибок.