Показать сообщение отдельно
Старый 29.07.2009, 01:14   #2  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5813 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Какой-то прям антирефакторинговый паттерн, извините за великий и могучий... Но если на минутку оставить в стороне эмоции, то что мы увидим?
Цитата:
Строители, которые делали туалет, вмонтировали унитаз, не оставив места для сливного бачка. Когда бетон застыл, они растерялись.
Стоимость переделки (выломать унитаз из бетона, отодвинуть его на другое место, заделать стену и пр.) крайне высока.
Сразу видим непрофессионализм исполнителей. Ребяты, если уж рассуждать на эту тему, то каждый, у кого удобства не во дворе, мог заметить, что унитазы не замуровывают в бетон - их просто ставят на ровную поверхность, крепят подводку и фиксируют к поверхности шурупами в количестве от двух до четырех штук. Соотв., чтобы передвинуть неудачно установленный или заменить "надоевший" унитаз, достаточно открутить патрубок от бачка, отсоединить слив и отвинтить те самые 2-4 шурупа, которыми фиксируется унитаз. Аналогично, только дети школьного возраста, вчера узнавшие про бейсик, вмонтируют в систему какой-либо программный модуль так, что для его замены или модификации понадобится "выламывать" его из системы.
Но самое главное - это принципиальное отличие между коммунальными удобствами и программной системой: первые могут использоваться в том виде, как они есть, пока не обветшают, а система, если она на самом деле нужна кому-то кроме разработчиков, постоянно развивается, она постоянно меняется, и стоимость и сложность (или простота) этих изменений во многом определяются архитектурой системы и отдельных ее модулей.
Цитата:
В сложившейся ситуации нужно ли что-либо менять? Ежу понятно, что нет. А все-таки, может быть, кому-то нужно менять? Получается, что талантливому сантехнику, которому эта картина душу рвет.
В результате сотрудник, конечно, приходит с гениальной идеей “а не затеять ли нам рефакторинг”.
Если система с точки зрения развития "мертва" - разумеется, никакой рефакторинг ей не нужен, он будет лишь пустой тратой ресурсов, как справедливо было отмечено. Но если она живет и развивается, то тот же рефакторинг может сделать ее развитие гармоничнее, упростить его для разработчиков и удешевить для заказчика и позволить системе не превратиться во Франкенштейна, неуклюже соштопанного из разнородных лоскутков, который рано или поздно рухнет под собственной тяжестью.
За это сообщение автора поблагодарили: mazzy (2), belugin (2), sukhanchik (2), ice (1).