Что такое китайские ошибки я давно знал (это когда копируется чем-то похожий кусок кода, меняется все что нужно, и где-нибудь забывается измениться одна переменная типа I в J). Теперь по работе приходится копаться в чужих исходниках, править их а там...
1. Понятие верхний регистр и нижний регистр - чуждое разуму понятие. Написать begIN или THen - это нормально в этих исходниках, и не самое страшное. Понятие отступ отсутсвует как класс, и найти какому begin-у соответствует какой end, простым листанием просто невозможно.
2. Берется кусок кода строк на 200, копируется примерно раз двадцать, в паре мест этого куска последовательно заменяется константа начиная от 1 до числа повторов. Короче когда я заменил все это на простой цикл и соптимизировал из 2000 строк получилось 30.
3. Если вдруг где-то происходит ошибка - никто не разбирался почему. Кусок кода запихивался в обработчик ошибок типа try ... except end, абы программа не выдавала сообщение об ошибке и продолжала работать дальше. А то что из-за этого некотрые куски просто не работали, так не важно - там в другом месте обратотка сдублирована. А так как у страха глаза велики в обработчики ошибок запихивается все подряд, верх идиотизма когда там простое присвоение одной числовой переменной в другую.
4. Безусловный переход. Да-да, они еще встречаются, особенно круто выглядит когда он ведет из конца одного блока на следующий, причем следующий блок будет выполнен даже в том случае, если этот безусловный переход выкинуть нафиг.
5. Еще принято не доверять условным операторам, например текст типа If N>2 then If N>2 then - это нормально, вдруг после первого If-а значение N само изменится, или это проверка не ошибся ли процессор...
6. А высший пилотаж, это внутри блока по условию типа If N>2 then, написать проверку If not N>2 then и далее большой кусок кода, который как понятно любому здравомыслящему человеку, не будет выполнятся вообще никогда!!!
В общем, вот такое вот оно китайское программирование.
О сколько нам открытий чудных...
P.S. Поубивав бы...
Программисткое
ulmo
| четверг, 30 апреля 2009