Я початківець веб-розробник (один рік досвіду).
Через пару тижнів після закінчення навчання мені запропонували роботу зі створення веб-додатків для компанії, власник якої не є великим технологом. Він набирав мене, щоб уникнути крадіжок його ідеї, високої вартості розробки, яку стягує сервісна компанія, і мати когось молодого, якому він може довіряти на борту, щоб підтримувати проект в довгостроковій перспективі (до цих висновків я прийшов сам після довгого найму ).
Коккі, як я тоді був, отримавши диплом з інформатики, я прийняв пропозицію, думаючи, що я можу побудувати що завгодно.
Мені дзвонили постріли. Після деяких досліджень я влаштувався на PHP, і почав із звичайного PHP, ніяких об’єктів, просто потворний процедурний код. Через два місяці все стало безладним, і важко було досягти прогресу. Веб-додаток величезний. Тому я вирішив перевірити рамку MVC, яка полегшила б мені життя. Ось де я натрапив на класного малюка у спільноті PHP: Laravel. Мені це сподобалось, це було легко дізнатися, і я почав кодувати відразу. Мій код виглядав чистішим, організованішим. Це виглядало дуже добре.
Але знову веб-додаток було величезним. Компанія тиснула на мене, щоб поставити першу версію, яку вони хотіли розгорнути, і, очевидно, і почати шукати клієнтів.
Оскільки з Laravel було цікаво працювати, це змусило мене згадати, чому я обрав цю галузь в першу чергу - те, про що я забув, застрягши в лайновій системі освіти.
Тому я почав працювати над невеликими проектами вночі, читаючи про методології та найкращу практику. Я переглянув ООП, перейшов до об'єктно-орієнтованого проектування та аналізу та прочитав книгу « Чистий код дядька Боба» .
Це допомогло мені зрозуміти, що я насправді нічого не знаю. Я не знав, як створити програмне забезпечення ПРАВИЛЬНИЙ ШЛЯХ. Але в цей момент було вже пізно, і зараз я майже закінчився. Мій код зовсім не чистий, просто код спагетті, справжній біль, щоб виправити помилку, вся логіка в контролерах, і мало об’єктно-орієнтована конструкція.
У мене така наполеглива думка, що мені доведеться переписати весь проект. Однак я не можу цього зробити ... Вони постійно запитують, коли це все буде зроблено.
Я не уявляю, як цей код розгорнутий на сервері. Плюс досі я нічого не знаю про ефективність коду та продуктивність веб-додатків.
З одного боку, компанія чекає товару і більше не може чекати. З іншого боку, я не можу бачити себе далі з фактичним кодом. Я міг би закінчити, завершити і розгорнути, але Бог знає лише, що може статися, коли люди почнуть його використовувати.
Чи потрібно переписувати, чи просто намагаюся надсилати, чи є інший варіант, який я пропустив?