bash.im ithappens.me zadolba.li
10820

Так писал мудрец Обфусций

Я раньше думал, что так только на Баше бывает. Ну, или на Хабре.

Попался мне по долгу службы исходник от спиртзавода для французских контроллеров с немецким названием в среде разработки «Единство».

Сказать, что код написан криво — молчать в тряпочку. Сначала половина кода вызывается в собственных подпрограммах, идентичных друг другу, 14 раз. Потом реабилитация в виде одной подпрограммы с вызовом четырёх экземпляров функционального блока. Тут как будто разработчик наконец-то протрезвел. Вводится куча переменных, которые просто являются буферными. В них закидываются переменные, чтобы потом закинуться ещё раз — уже во входы функционального блока.

Вместо понятного и рекомендуемого для логики языка LAD используется язык структурного текста, в котором из конструкций IF — THEN — ELSEIF строится монстр, который уместился бы всего-то на двух понятных ветках релейной логики.

Все переменные имеют названия s_ed, st_ed, s_ed_o, t_q и не имеют комментариев. Комменты вообще скупы и непонятны по всему телу программы.

Развязка? Это не студент и даже не джуниор, а человек с многолетним опытом работы и запуска. Вот тут уже воистину страшно.