Je suis un développeur Web débutant (un an d'expérience).
Quelques semaines après l'obtention de mon diplôme, on m'a proposé de créer une application Web pour une entreprise dont le propriétaire n'est pas vraiment un technicien. Il m'a recruté pour éviter le vol de son idée, le coût élevé du développement demandé par une société de services, et pour faire confiance à un jeune dans lequel il peut compter pour maintenir le projet à long terme (je suis parvenu à ces conclusions tout seul après mon embauche )
Diplômé en informatique à l'époque, à l'époque, j'avais accepté l'offre en pensant pouvoir tout construire.
J'appelais les coups de feu. Après quelques recherches, je me suis installé sur PHP et j'ai commencé avec PHP pur, sans objet, mais avec un code procédural très laid. Deux mois plus tard, tout devenait sale et il était difficile de progresser. L'application Web est énorme. J'ai donc décidé de consulter un framework MVC qui me faciliterait la vie. C'est là que je suis tombé sur le gamin cool de la communauté PHP: Laravel. J'ai adoré ça, c'était facile à apprendre et j'ai tout de suite commencé à coder. Mon code avait l'air plus propre, plus organisé. Cela avait l'air très bien.
Mais encore une fois, l'application Web était énorme. La société faisait pression sur moi pour que je livre la première version, qu’ils souhaitaient déployer, bien sûr, et commencer à chercher des clients.
Le plaisir de travailler avec Laravel m'a rappelé pourquoi j'ai choisi cette industrie, une chose que j'avais oubliée lorsque j'étais coincée dans le système éducatif de merde.
J'ai donc commencé à travailler sur de petits projets la nuit, en lisant sur les méthodologies et les meilleures pratiques. J'ai revisité la POO, passé à la conception et à l'analyse orientées objet, et lu le livre de Clean Code, de Oncle Bob .
Cela m'a aidé à réaliser que je ne savais vraiment rien. Je ne savais pas comment construire le logiciel THE BIGHT WAY. Mais à ce stade, il était trop tard et maintenant j'ai presque fini. Mon code n'est pas du tout propre, il s'agit simplement de code spaghetti, ce qui est très pénible de corriger un bogue, toute la logique réside dans les contrôleurs et la conception orientée objet est limitée.
J'ai cette pensée persistante que je dois réécrire tout le projet. Cependant, je ne peux pas le faire ... Ils n'arrêtent pas de demander quand tout sera fini.
Je ne peux pas imaginer ce code déployé sur un serveur. De plus, je ne connais toujours pas l'efficacité du code et les performances de l'application Web.
D'une part, la société attend le produit et ne peut plus attendre. Par contre, je ne me vois pas aller plus loin avec le code actuel. Je pourrais finir, terminer et déployer, mais dieu sait seulement ce qui pourrait arriver quand les gens commencent à l'utiliser.
Est-ce que je réécris, ou simplement continuer à essayer d'expédier, ou y a-t-il une autre option que j'ai manquée?