Читать «Bash IT Happens Истории ## 9501 – 9600» онлайн - страница 24

Bash.org.ru IT

#9567: Нелогично, но работает отлично

12:15 15.07.2012, IT happens

Сколько раз замечал, что наиболее удобный для компьютера способ решения задачи не есть самый удобный и понятный для человека.

Надо рисовать на карте трассу спутника. Если верить формуле, трасса начинается на каком-то значении долготы, вырисовывает загогулины, причём иногда весьма интересные, и завершается на той же долготе плюс 360 градусов. Проблема состоит в том, что при рисовании надо ловить переходы через границу карты, завершать рисование справа и начинать рисовать трассу на карте слева. Сколько было визуальных глюков вокруг перехода через эту границу… Проблема исчезла, когда стали рисовать трассу три раза — со сдвигом −360, 0 и 360 градусов. Ненужное отсекалось само, нужные куски при рисовании стыковались сами. И не надо точки разрыва трассы искать.

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

#9568: DRY me a river

12:45 15.07.2012, IT happens

Конечный покупатель не станет платить за , которые ему не нужны. А платить за модули, из которых используется пара методов, как минимум нелогично. В частности мало кто может обосновать покупку XI, хотя при правильном использовании можно получить довольно много ощутимых плюшек. Вот только развёртывание XI — задача трудоёмкая. В каждом модуле есть свои методы именно для того, что бы конечный пользователь гарантированно получил работоспособный продукт. И если консультанты работают с одним конкретным заказчиком, то разработчики SAP делают для неопределённого круга лиц. А это, согласитесь, несколько сложнее.

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

Специфичные для России бизнес-процессы зачастую реализуют иностранные отделения, которые знают о том, что нужно сделать, только из спецификации, которую тоже писали не в России, пытаясь прочитать результаты трудов отечественных законотворцев.

Много ещё чего можно сказать и про стандартизацию, и про унификацию разработки, но зачем? Если за десять лет работы с SAP вам не открылась гибкость, возможность выбора и умение находить оптимальные варианты, возможно, вам просто не стоит этим заниматься. Попробуйте гвозди забивать. Хотя нет — там ведь длины разные, сталь и сплавы всякие, диаметры тоже, маркировка у разных производителей. Опять же, молотки.