bash.im ithappens.me zadolba.li
10304

Стринги-стретч

16 декабря 2012, 07:15

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

Чаще встречалась ситуация, когда что-то невозможно из-за нехватки внешних данных или логического противоречия в задании. В таком случае помогает вручную, на словах или бумажке, пройти с заказчиком все этапы на некоем примере и подвести его к проблеме. Даже пресловутые блондинки и бухгалтерши понимали, в чём дело, и мы начинали вместе искать выход из ситуации.

Бывало, что моих знаний и умений не хватало, чтобы найти простое решение задачи, но в таком случае я никогда не говорил «принципиально невозможно», а объяснял, что мне понадобится на это уйма времени, и заказчику, возможно, лучше нанять другого специалиста или согласиться на слегка отличающийся, но проще реализуемый вариант.

Но, блин, никогда мне не приходилось говорить, что нечто принципиально невозможно из-за ограничения на длину «стрингов». Да, можно не предусмотреть такую ситуацию, бывает, всё сразу учесть тяжело. Но отказываться её исправить, лепетать про принципиальную невозможность и советовать ручками посчитать в Экселе — это однозначное «вон из профессии».

«Невозможная» проблема исправляется обрамлением блока в цикл с разбиением строки на части в условии и заменой присвоений в блоке на сумматоры. Это настолько элементарное действие, что я даже сомневаюсь, что оно где-то описано. Школьная сортировка пузырьком на фоне этого — просто rocket science. Но больше всего поражает, что сей погромист не стесняется своей вопиющей некомпетентности, а высмеивает, пытается задавить сленгом и оскорбляет девушку, которая задаёт ему абсолютно нормальные вопросы. Ведь программист, советующий пользователю считать ручками вместо программы, это такая же дикость, как и хирург, советующий пациенту прооперировать себя самостоятельно.