У якийсь момент розробляється програма. Особливості додаються або видаляються або змінюються постійно. Кожна версія - це не що інше, як прототип. Тому я не витрачаю багато часу на написання надчистого коду на той момент, тому що ніколи не знаю, як довго щось триває. Звичайно, я намагаюся дотримати якість коду до певних стандартів, але час - це завжди питання.
Потім настає момент, коли програма закінчується, і той, хто приймає рішення, каже "це все". На даний момент у мене є працюючий прототип, але код всередині трохи заплутаний з усієї сторони та назад під час фази розробки. Я, як очікується, почну тестування / остаточну налагодження, але моя кишка каже, що зараз я повинен якось очистити та переписати речі, щоб надати йому належну архітектуру, яка полегшує обслуговування тощо.
Після того, як матеріал був перевірений і затверджений, потім немає сенсу переписувати його. На регулярній основі я стою з робочим «готовим» прототипом, і я отримую помилку під час тестування, і я бачу, що це результат нерозумного кодування, який є результатом всього процесу розробки. Я в середині тестування, і виправлення буде переписати ... це безлад!
Є кращі / підручникові способи, я впевнений. Але мені доводиться працювати в реальному робочому середовищі, де не все є підручником.
Тож як я переходжу свій робочий прототип до версії випуску зі стабільною базою коду? Можливо, я не повинен вважати розробку закінченою після того, як це роблю, і насправді бачу це як фазу очищення ... Не знаю, мені тут потрібна допомога.
EDIT
Хочу уточнити кілька речей.
Я на 100% сторона робити це безпосередньо до, а не після, код чистий і читабельний. Але мені також доведеться все робити, і я не можу мріяти про красу коду, все чисто і блискуче. Я маю знайти компроміс.
часто нова функція насправді є просто чимось, що ми хочемо спробувати і подивитися, чи є сенс реалізувати щось подібне. (особливо в мобільних додатках, щоб отримати реальний вигляд на фактичному пристрої) Тож це щось невелике, що (imho) не виправдовує занадто багато роботи в першій ітерації "подивимося". Однак іноді виникає питання, КОГО я плачу за цей борг? Ось у чому це питання.
Якщо я знаю, що половина функцій буде знищена через день (достатньо досвіду роботи в нашій компанії на даний момент), мені дійсно важко повірити, що найкращий спосіб підійти до моєї проблеми - тим не менше вкласти додатковий час, щоб написати все чисте, навіть якщо більша частина буде скинута незабаром після. Мені здається, що я заощаджую час, якщо зроблю одну велику очистку, коли річ стане твердою, звідси і моє запитання.