Тяжела и неказиста...
Mar. 11th, 2013 02:28 pmВсё-таки удивительная штука - жизнь практикующего программиста.
Вот бывает, проектируешь что-нибудь, ну например систему "автомобиль". Напрягаешь свою стареющую память, вспоминаешь все похожие задачи, пишешь так чтобы в случае чего, не напрягаясь, расширять систему по ходу добавления требований. Рассчитываешь чтобы можно было легко наращивать грузоподъёмность. Чтобы можно было подменить стандартный двигатель на аэротурбину или десять мопедных моторчиков. Чтобы количество колёсных пар можно было неограничено увеличивать. Чтобы водители на ходу могли меняться. Чтобы любой прицеп можно было прикрутить и сзади, и сверху, и с любого бока. И чтобы могла ездить и вперёд и назад не теряя ходовых качеств (ведь бывали и такие случаи в практике). И думаешь, что теперь предусмотрел всё и дальше будешь, поплёвывая в потолок, спокойно развивать систему.
А потом внезапно приходят новые требования, в которых пишут "А ещё надо чтобы сверху были вращающиеся рога с воздушными шариками!"
no subject
Date: 2013-03-12 11:12 am (UTC)Но вообще по топику - исходно выполнен громадный overengineering
no subject
Date: 2013-03-12 02:00 pm (UTC)no subject
Date: 2013-03-12 02:08 pm (UTC)Пока что вышеописаный процесс - лучшее что у меня получалось. Альтернатива - "говнокодить, а потом рефакторить" мне кажется хуже с точки зрения перспективности, ибо оставляет за собой гниющие болотца кода, имеющие тенденцию разрастаться...
no subject
Date: 2013-03-12 04:06 pm (UTC)Я не спорю, что процесс работающий, self-satisfying и вообще кому-то right way to do.
Но имхо правильной стратегией было бы идти по линии прототипирования, то есть делать макет автомобиля в натуральную величину до тех пор, пока на нем некому ездить, а не садиться и сразу выпиливать его из единого куска железа.
no subject
Date: 2013-03-12 04:10 pm (UTC)Увы, я мало видел *-менеджеров, готовых сказать "Ништяк! Прототип рулит. А теперь мы всё выбрасываем и переписываем набело". Обычно бывает по-другому, и постаревшему мне уже сложно их винить...