Я працюю над програмним проектом здебільшого сольно понад 5 років. Спочатку це було безладдя (я третій чи четвертий розробник, над яким працюю), і хоча це все менше хаосу, він все ще неймовірно неорганізований. Швидкість прогресу в тому, щоб отримати його під контролем, є льодовиковою, і я починаю відчувати зневіру щодо стану, в якому він знаходиться. Як я справді починаю це виправляти?
Специфіка проекту: Це програма продажу, майже повністю написана на Visual Basic Classic (VB6) із задньою частиною MySQL та механізмом звітності, написаним на C #. Модуль звітності C # із задоволенням працює над ним, він був написаний лише за останні пару років, а до цього всі звіти були зроблені в Crystal Reports 9 (так, у нас все ще є деякі звіти, на які покладаються).
Однак сама програма є повною катастрофою. Всього не більше 90 тис. LOC, і близько 10 тис. Рядків коментарів (в основному це не документація, а старий код, який прокоментували). 158 форм-файлів та 80-модульних файлів. Я поняття не маю, скільки з них насправді використовується, тому що деякі функції програми просто застаріли і (ех, іноді) відзначаються як такі, не видаляючи з програми пов'язаний код. Я б здогадався, що лише 50% коду в реальному виробничому використанні.
Я боюся торкнутися багато коду лише тому, що я не впевнений, що я порушую щось, на що покладається один незрозумілий клієнт, це трапляється більше разів, ніж я можу порахувати. Це наче є міни, розкидані по всьому коду.
Справді немає жодної структури проекту. Вона не орієнтована на об'єкти, за винятком кількох місць, у яких я до цього часу терпіла реформи. Якщо вам потрібно отримати дані у формі, ви інстанціюєте об’єкт бази даних, оголошуєте свій запит прямо там у функції, виконайте його та робіть все, що будете з набором даних.
Коли я почав працювати над проектом, джерело контролю джерел не використовувався. Я намагався заохотити інших людей, над якими я працював, щоб використовувати його, але я був новим хлопцем і мої спроби змусити людей використовувати підривну діяльність, але не вдалися. Провідний розробник компанії, нарешті, застав помилку помилок за останні пару років, і він переконався, що зараз усі розробники використовують джерело управління для всіх проектів, так що принаймні це певний прогрес.
Я думаю, якби мені вдалося попрацювати над реформуванням проекту на повний робочий день, я б змогла досягти гідного прогресу і, можливо, навіть маю оцінку, скільки часу знадобиться мені, щоб повністю переробити проект, але він активно використовується, і я постійно просять гасити пожежі, виправляти помилки, додавати функції тощо.
Тож як мені почати реально виправляти цей проект? Спробуйте інструмент VB6 іншою мовою? Спробувати і переписати програму у вільний час? Або це зовсім безнадійно?
Оновлення
Після цієї посади я повернувся до проекту із новим завзяттям, але знову потрапив у безвихідь протягом декількох місяців після того, як побачив такий повільний темп прогресу. Потім я повторив цей цикл ще 2 або 3 рази протягом наступного року.
З тих пір я перейшов на іншу роботу. Хоча після стількох років vb6 і лише периферійного досвіду роботи з іншими технологіями пошук був важким, і я зіткнувся з багатьма відмовами на цьому шляху (близько десятка інтерв'ю протягом року). Моя порада іншим у цій ситуації - розглянути можливість залишати цей фактор самостійно. Подумайте про шкоду, яку ви можете завдати кар'єрі, залишаючись у тупиковій позиції, як ця.