LINUX.ORG.RU

История изменений

Исправление Linfan, (текущая версия) :

рефакторинг архитектуры влечет за собой переделку кода

архитектура может эволюционировать со временем

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

Исправление Linfan, :

рефакторинг архитектуры влечет за собой переделку кода

архитектура может эволюционировать со временем

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

Исходная версия Linfan, :

рефакторинг архитектуры влечет за собой переделку кода

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