Я начинающий веб-разработчик (один год опыта).
Через пару недель после окончания учебы мне предложили создать веб-приложение для компании, владелец которой не является специалистом по технологиям. Он нанял меня, чтобы избежать кражи его идеи, высокой стоимости разработки, взимаемой сервисной компанией, и иметь кого-то молодого, которому он мог бы доверять, чтобы поддерживать проект в течение длительного периода (я сам пришел к этим выводам после того, как меня наняли). ).
Тогда, когда я был дерзким, с дипломом в области компьютерных наук, я принял предложение, думая, что могу построить что угодно.
Я звонил выстрелы. После некоторых исследований я остановился на PHP и начал с простого PHP, без каких-либо объектов, только с некрасивым процедурным кодом. Два месяца спустя все стало грязно, и было трудно добиться какого-либо прогресса. Веб-приложение огромно. Поэтому я решил проверить среду MVC, которая облегчит мою жизнь. Вот где я наткнулся на крутого парня из сообщества PHP: Laravel. Мне понравилось, это было легко учиться, и я сразу начал программировать. Мой код выглядел чище, более организованным. Это выглядело очень хорошо.
Но снова веб-приложение было огромным. Компания оказывала давление на меня, чтобы я поставил первую версию, которую они, очевидно, хотели развернуть, и начал искать клиентов.
Поскольку с Laravel было весело работать, это заставило меня вспомнить, почему я выбрал эту отрасль в первую очередь - то, что я забыл, застряв в дерьмовой системе образования.
Поэтому я начал работать над небольшими проектами ночью, читая о методологиях и лучших практиках. Я вновь OOP, перешел на объектно-ориентированное проектирование и анализ, и читать Дядя Боб книгу Чистого кода .
Это помогло мне понять, что я действительно ничего не знал. Я не знал, как создавать программное обеспечение ПРАВИЛЬНЫМ СПОСОБОМ. Но в этот момент было слишком поздно, и теперь я почти закончил. Мой код совсем не чистый, просто код спагетти, реальная боль в исправлении ошибки, вся логика в контроллерах и мало объектно-ориентированного дизайна.
У меня настойчивая мысль, что я должен переписать весь проект. Тем не менее, я не могу сделать это ... Они продолжают спрашивать, когда это все будет сделано.
Я не могу представить этот код развернут на сервере. Кроме того, я до сих пор ничего не знаю об эффективности кода и производительности веб-приложения.
С одной стороны, компания ждет продукта и не может больше ждать. С другой стороны, я не вижу, чтобы я шел дальше с реальным кодом. Я мог бы закончить, обернуть его и развернуть, но бог знает, что может случиться, когда люди начнут его использовать.
Я переписываю, или просто продолжаю пытаться отправить, или есть другой вариант, который я пропустил?