Зараз я працюю в невеликій компанії, яка має мало технічно складних продуктів. Я єдиний розробник для одного з них. Близько року тому я отримав застарілу версію продукту і почав "підтримувати" його.
Клієнт розповідає лише про нові функції, цінність бізнесу та інші подібні. Проблема полягає в тому, що, хоча код є в C #, він досить процедурний. Абстракцій немає, класи використовуються лише там, де цього вимагає Visual Studio - Forms. Реалізація цих класів справді жахлива, і код насправді важко підтримувати.
За весь цей рік я витрачаю власний час на рефакторинг. В останній версії є досить абстракції і такі. Мені довелося повторно впроваджувати ряд компонентів з нуля, і я справді відчуваю, що додавати нові функції або змінювати поведінку до цих компонентів МНОГО простіше, ніж для інших.
Проблема в тому, що я витрачаю власний час. Мені дуже подобаються результати, але мені не подобається працювати по 12 годин на день. Чи бували ви в подібній ситуації? Що слід спробувати? Я вже намагався обговорити це, але успіху все ще не було.
Мені просто страшно того моменту, коли ми вирішимо реалізувати нову функцію, яка вимагає багато змін у застарілому коді. Це просто може шокувати замовника: навіщо вам потрібно 8 годин для зміни цих піктограм? Замовника просто не хвилює, що в коді є 500 місць, які мені потрібно змінити. І я також повинен спочатку знайти усі ці 500 місць.
Будь-які ідеї?