TGViewer
.и в продакшен .и в продакшен @devfounder · 2.92K subscribers
Post #4 773
Извините, не про стартапы.

Заметил за собой, что все чаще юзаю конструкцию do-while(false) - никогда не догадаетесь для чего - для "быстро выйти из нескольких вложенных if сразу"

Это хак из мира C-шников, у них так давно принято.

Меня, идиота, научили совсем недавно.

Работает так

do
{
if (xxx)
{
//громоздкое вычисление yyy
if (yyy)
{
//громоздкое вычисление zz
if (zzz)
//чтото делаем
else
break; //выходим нахуй
}
}
}
while (false)

Вы спросите "НАХЕРА? почему не просто if (xxx && yyy && zzz) ?? Ведь сработает "short circuiting" в операторе &&"

Потому что "громоздкое вычисление".

Я не хочу вычислять следующую переменную (yyy и zzz) анлесс мне реально это надо. А внутрь if()-выражения вычисление может и не поместиться.

Вы опять спросите "НАХЕРА? почему бы тогда не вынести вычисление yyy во внешний метод?" А потому что значение yyy я юзаю много раз и не хочу вычислять его повторно. Ну и вообще - читаемо же? красиво же? не?

Собственно, while (false) опеспечивает, что код выполнится ровно один раз.

"Громоздкое вычисление" не обязательно именно вычисление, это может быть, например, чтение из медленной базы данных - самый частый боттлнек на бекенде.

Такая вот оптимизация. Спасибо вам, Сишники.

P.S. подход ни к коем случае не предлагается в качестве паттерна. while(true) { ранний выход } более читаем, например. Но это отличный костыль к уже написанному коду, решающий задачу "быстро выйти из кучи if"
  • 👍 2
More from @devfounder
  1. Jul 11, 2026Apple ночью подала в суд на OpenAI. Текст иска прям производственный триллер и промышленны…
  2. Jun 14, 2026Как запрещали Фейбл • Близкий партнер как Anthropic, так и правительства США, который тест…
  3. Apr 17, 2026Давайте объясню, а то многие не понимают, почему из-за ИИ у всех более-менее неглупых люде…
  4. Oct 30, 2025Курсор 2.0 так меня выбесил, что вчера ночью написал рейдж-пост https://www.jitbit.com/ale…
  5. Jul 29, 2025Джек Дорси (фаундер Твиттера) зачем-то пошел и за одни выходные запилил Bitchat (он реальн…
  6. Jun 11, 2025Apple выпустила исследование "The illusion of thinking". О том, что "думающий режим" AI-мо…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →