TGViewer
Александр Кунташов — про 1С и не только Александр Кунташов — про 1С и не только @kuntashov_devnotes · 2.56K subscribers
Post #409 1.42K
💩 Две простейшие строчки кода, логику которых не поймешь с первого раза

На скриншоте за "самодокументирующимся" кодом (ну так гипердлинные идентификаторы обычно оправдывают) прячется вот такая красота:

НеПрервано = Прервано();
Если НеПрервано = Ложь Тогда
...

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

Этот код можно было бы еще "улучшить", добавив отрицание вместо явного сравнения с Ложью. Но к нашему счастью, метод Прервано() тоже спроектирован не удачно и может вернуть не только значение булева типа, поэтому тут обошлось без Если Не НеПрервано Тогда... (а было бы веселее!)

Ну и, очевидно, с такой кривой логикой "повествования" (НеПрервано = Прервано()) какие-либо длинные "самодокументирующиеся" имена становятся не только бесполезными, но и вредят, т.к. в таком идентификаторе при беглом чтении кода "Не" можно и не заметить, или даже наоборот, увидев его в одном идентификаторе, на автомате прочитать во втором, похожем.

(Если что, это из модуля 1С:Синхронизация с Битрикс24 для УТ 10.3)

#говнокод #codesmell
More from @kuntashov_devnotes
  1. Sep 28, 2026Что с кожаными сотрудниками, что с цифровыми вопрос "А не фигню ли мы делаем?" остается ак…
  2. Sep 10, 2026Post #749
  3. Aug 28, 2026✍️ Humanizer для русского языка от Сарычевой Внезапно на пост про grilling получил много о…
  4. Aug 17, 2026Может ли AI написать автотест для 1С: демонстрация Vanessa Automation Vanessa Automation –…
  5. Aug 13, 2026🔥 grill-me: как «прожарить» идею или требование при помощи ИИ до начала разработки Вижу,…
  6. Jun 22, 2026🎙 Продолжаем знакомить вас с модераторами INFOSTART TECH EVENT 2026 и их докладами Алекса…
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 →