Здравствуйте, Ziaw, Вы писали:
Z>Каждый релиз напоминает природный катаклизм и тебе остается только гадать, каким он будет на этот раз.
Это не долг. Это банкротство уже… Коллекторы уже стучат в дверцу.
Z>КИзменения теперь стоят столько, что ты понимаешь: твоя программа настолько плоха, что дешевле ее переписать.
Угу… Переписать блин.

И наплодить
нового технического долга. Потому как в заново переписанном будут учтены просчеты прошлого, но в новом варианте будут внесены аккурат новые. Ибо вместо старого минного поля, мы, решив "а ну его нафиг, пойду на соседнее минное поле" мы опять начнем с нуля, ловя новые мины, ибо поле новое.
Играться с техническим долгом можно и нужно. Но не каждый раз с нуля.
Нужно не просто исправлять, избавляться от технического долга. А анализировать
причины, по которым он появляется. Причем не сферически в вакууме, "мол вот жисть моя жестянка", мол "мы все лажаем" — это и так ясно. А почему конкретно, в этом самом конкретном месте, что именно нас сподвигло на "кривоватый" код (копи-паста, и прочие ружья чтоб стрелять себе в ногу).
Что именно спровоцировало!?! И как писать так, и как проектировать, чтобы избегать этих провокационных моментов.
Вот тогда появляется опыт, и результат будет лучше.
А так, "переписать всё нафиг", особенно в архитектурном смысле, это бесконечный бег по кругу.
Если мы налажали на первом круге, бросили и пошли на "другой стадион", а потом опять бросили и уже на третий "стадион" — откуда, вот откуда мысль, что на круге Икс всё будет отлично!?!