Jestem początkującym programistą internetowym (rok doświadczenia).
Kilka tygodni po ukończeniu studiów zaproponowano mi pracę nad aplikacją internetową dla firmy, której właściciel nie jest specjalistą od technologii. Zrekrutował mnie, aby uniknąć kradzieży jego pomysłu, wysokich kosztów rozwoju naliczanych przez firmę usługową i mieć kogoś młodego, któremu mógłby zaufać na pokładzie, aby utrzymać projekt na dłuższą metę (do tych wniosków doszedłem długo po tym, jak zostałem zatrudniony) ).
Zarozumiały jak wtedy, z dyplomem informatyki, przyjąłem ofertę myśląc, że mogę zbudować wszystko.
Wołałam strzały. Po kilku badaniach zdecydowałem się na PHP i zacząłem od zwykłego PHP, bez obiektów, po prostu brzydki kod proceduralny. Dwa miesiące później wszystko się popsuło i ciężko było poczynić postępy. Aplikacja internetowa jest ogromna. Postanowiłem więc sprawdzić środowisko MVC, które ułatwiłoby mi życie. Właśnie tam natknąłem się na fajnego dzieciaka ze społeczności PHP: Laravela. Uwielbiałem to, łatwo było się uczyć i od razu zacząłem kodować. Mój kod wyglądał na bardziej przejrzysty, lepiej zorganizowany. Wyglądało bardzo dobrze.
Ale znowu aplikacja internetowa była ogromna. Firma wywierała na mnie presję, aby dostarczyła pierwszą wersję, którą oczywiście chciała wdrożyć i zacząć szukać klientów.
Ponieważ praca z Laravelem była przyjemnością, przypomniało mi się, dlaczego wybrałem właśnie tę branżę - coś, o czym zapomniałem, tkwiąc w gównianym systemie edukacji.
Zacząłem więc pracować nocą nad małymi projektami, czytając o metodologii i najlepszych praktykach. Powróciłem do OOP, przeszedłem do projektowania i analizy obiektowej i przeczytałem książkę wuja Boba Clean Code .
To pomogło mi zrozumieć, że tak naprawdę nic nie wiedziałem. Nie wiedziałem, jak zbudować oprogramowanie PRAWIDŁOWY SPOSÓB. Ale w tym momencie było już za późno, a teraz już prawie skończyłem. Mój kod nie jest wcale czysty, po prostu kod spaghetti, prawdziwy ból, aby naprawić błąd, cała logika jest w kontrolerach, a projekt obiektowy jest niewielki.
Mam tę upartą myśl, że muszę przepisać cały projekt. Jednak nie mogę tego zrobić ... Ciągle pytają, kiedy to się skończy.
Nie mogę sobie wyobrazić tego kodu wdrożonego na serwerze. Ponadto nadal nie wiem nic na temat wydajności kodu i wydajności aplikacji internetowej.
Z jednej strony firma czeka na produkt i nie może już dłużej czekać. Z drugiej strony nie widzę, żebym szedł dalej z faktycznym kodem. Mógłbym skończyć, zawinąć i wdrożyć, ale Bóg wie tylko, co może się stać, gdy ludzie zaczną go używać.
Czy przepisuję, czy po prostu próbuję wysyłać, czy jest jeszcze jedna opcja, której mi brakowało?