Девелоперские будни
Всё-таки должна быть какая-то особая программистская карма. И если ты, например, дизайнишь модульную архитектуру и пишешь правильный код с комментариями - то она идёт в плюс, а если хачишь код по-живому и константы не выносишь из текста программы - то в минус. И в соответствии с кармой получаешь следующую работу. Хорошая карма - работать над новым концептуальным проектом, а плохая - исправлять ошибки в старых гуях на Visual Basic'e.
К чему это я? Пишу я конвертор HTML проектов в MS Html Help. Приходится разбираться в подробностях этого Html Help. Давно не видал такого ужаса. Гуёвая тулза для редактирования от Microsoft'a - как будто первокурсник с бодуна писал. Все форматы ни фига не документированы. Попытки создавать рабочие файлы вручную - постоянный секс с парсером проектов.
Парсер проектов в hhc.exe
- это просто ярчайший пример того, как не надо писать программы. Совершенно очевидно, что всё писалось на коленке, а потом вдруг неожиданно вошло в релиз. Смотрите сами!
Формат проекта - ini файл. Это в начале-то третьего тысячелетия! Дальше - круче. Формат описания содержимого - типа xml файл или типа html файл. Но ни фига. Как XML эта ботва просто не парсится (тэги <li>
там просто не закрываются). Соответственно рулезы XML'a пропадают (encodings, лёгкий парсинг, xslt). Так, про третье тысячелетие я уже говорил... Дальше - как html эта ботва канает, НО! Она жутчайше глючит в зависимости от наличия пробелов в случайных местах. Например - перед началом тэга или перед закрывающим уголком тэга. И - не во всяком случае. Таким образом очевидно, что ни один из стандартных парсеров, которые и так есть в системе, не использовались.
Приходится на Перле (ах, Перл!) писать xml abstraction layer к hhc.exe
. Что ж совместим полезное с приятным.
Выводы. Программист, писавший это - конченый пидарас. Таким отрубать руки по самые... в общем - отрубать. Менеджер, дававший такие задания и принявший такой проект - тоже конченый мудак. Таких надо подвергать публичной обструкции с запрещением работы в hi-tech.Product менеджер, пропустивший ЭТО в систему и заставивший девелоперов всей страны заниматься мануально-церебральным сексом - просто террорист. Таких вообще надо в урановые рудники или в VB-программисты (по выбору). Да, и обязательно - конфискация их имущества в пользу Larry Wall'a.
[to be continued...]