История изменений
Исправление
Linfan,
(текущая версия)
:
рефакторинг архитектуры влечет за собой переделку кода
архитектура может эволюционировать со временем
Несомненно. И если изначальная архитектура говенная, или в процессе на нее забили - да, рефакторить крайне сложно. Пример: в проекте был задекларирован MVC. Но в процессе «костылирования», код проекта превратился в монолитный блоб - в модели документа куски контроллеров и даже фрагменты UI, в UI код контроллеров и работа с моделью и т.п. (ясное дело - токмо ради удобства). И все это от души присыпано «магией» аля создания пакетов в рантайме, модификацией объектов в рантайме и пр. Пока костылируется проект - все идет весело и легко. Как встал вопрос про портирование на другую ОС и смену контроллов - тут же ппц и приехал. Да, на джаве подобную фигню можно отрефакторить, затратив хз сколько времени, переписав 2-3 раза весь код по ходу. На питоне дешевле написать заново. Но в целом, проблема завязана не на ЯП, а на то, что пейсателям вовремя клизьму не прописали :) Если бы сохранялась модульность и соответствие MVC - код бы жил и работал дальше, а менялись бы только те части, которые подлежат изменениям.
Исправление
Linfan,
:
рефакторинг архитектуры влечет за собой переделку кода
архитектура может эволюционировать со временем
Несомненно. И если изначальная архитектура говенная, или в процессе на нее забили - да, рефакторить крайне сложно. Пример: в проекте был задекларирован MVC. Но в процессе «костылирования», код проекта превратился в монолитный блоб - в модели документа куски контроллеров и даже фрагменты UI (ясное дело - токмо ради удобства). Пока костылируется проект - все идет весело и легко. Как встал вопрос про портирование на другую ОС и смену контроллов - тут же ппц и приехал. Да, на джаве подобную фигню можно отрефакторить, затратив хз сколько времени, переписав 2-3 раза весь код по ходу. На питоне дешевле написать заново. Но в целом, проблема завязана не на ЯП, а на то, что пейсателям вовремя клизьму не прописали :) Если бы сохранялась модульность и соответствие MVC - код бы жил и работал дальше, а менялись бы только те части, которые подлежат изменениям.
Исходная версия
Linfan,
:
рефакторинг архитектуры влечет за собой переделку кода
Несомненно. И если изначальная архитектура говенная, или в процессе на нее забили - да, рефакторить крайне сложно. Пример: в проекте был задекларирован MVC. Но в процессе «костылирования», код проекта превратился в монолитный блоб - в модели документа куски контроллеров и даже фрагменты UI (ясное дело - токмо ради удобства). Пока костылируется проект - все идет весело и легко. Как встал вопрос про портирование на другую ОС и смену контроллов - тут же ппц и приехал. Да, на джаве подобную фигню можно отрефакторить, затратив хз сколько времени, переписав 2-3 раза весь код по ходу. На питоне дешевле написать заново. Но в целом, проблема завязана не на ЯП, а на то, что пейсателям вовремя клизьму не прописали :) Если бы сохранялась модульность и соответствие MVC - код бы жил и работал дальше, а менялись бы только те части, которые подлежат изменениям.