Laravel ocena kodu

0

Witam.
Prosiłbym o ocenę mojego kodu, nie jest to skończony projekt, jestem ciekaw czy w jakimś stopniu dobrze pisze.
https://github.com/Peoloper/blog

0

Pytanie czy chcesz żebyśmy ocenili sam kod czy aplikację.

  • Pierwsze co widać, to to że aplikacja na 100% wygenerowana przez generator laravela, co znaczy że jest przywiązana do frameworka jak koza na 20cm sznurku do płota.
  • Po drugie dodałeś jeden commit, więc w sumie nie widać od razu jakie zmiany są Twoje, a jakie są dodane przez generator

Poza tym, Twojego kodu ja tu nie widzę za wiele. To wygląda bardzo jako scaffold Laravela po prostu.

Co do twirków samego kodu, używasz wszędzie empty() z PHP, a ona jest średnia, bo po pierwsze olewa wszystkie nulle i nieistniejące wartości, a po drugie np 0 oraz "0" są uważane za empty, także jak bym na Twoim miejscu użył laravelowego Str albo innej biblioteki. Albo nawet \strlen($s) === 0.

Co do frontu, głupio że trzymasz libki JS w kontroli wersji, powinieneś użyć managera zależności, np npm lub yarn.

Noi oczywiście testów żadnych.

PS: Osobiście ja uważam laravel-webpack.mix za mega słabe rozwiązanie, i zastanowiłbym się nad napisaniem swojego configa webpackowego, ale to moja opinia.

0
Peoloper napisał(a):

żadnego generatora nie użyłem, jeśli chodzi o front to użyłem darmowego template,

Czyli pliki app.php, config.php, migrations.php, index.php, .env i pozostałe typowo laravelowe pliki napisałeś sam z palca? :D Proszę Cię.

Peoloper napisał(a):

commit jeden ponieważ dopiero uczę się korzystać z github,

Rób jeden commit na jedną zmianę. Jak uda Ci się coś dodać, to rób commit.

Peoloper napisał(a):
TomRiddle napisał(a):

a po drugie np 0 oraz "0" są uważane za empty, także jak bym na Twoim miejscu użył laravelowego Str albo innej biblioteki.

Str jest Laravelowy

To prawda. Więc użyj go, zamiast empty().

0

@TomRiddle: trochę Cię nie zrozumiałem, jeśli chodzi o podstawowe pliki, to tak, zostały wygenerowane podczas instalacji laravela,
migracje, seedery, modele, relacje, routing, controllery, widoki(index, create, edit, show, delete,) użycie wzorca repository, stworzyłem oraz uzupełniłem.
Ja wiem że ta aplikacja zawiera praktycznie same crudy, fajerwerków nie ma, chciałem się dowiedzieć czy dobrze to jakoś napisałem, co mógłbym poprawić/ zmienić, dodać/usunąć, czy "dobrze" użyłem wzorca repository, czy dodać klase Service w której mógłbym odciążyć np HomeController.
template frontu zastąpię własnym.

0
TomRiddle napisał(a):

Poza tym, Twojego kodu ja tu nie widzę za wiele. To wygląda bardzo jako scaffold Laravela po prostu.

Peoloper napisał(a):

żadnego generatora nie użyłem, jeśli chodzi o front to użyłem darmowego template,

TomRiddle napisał(a):

Czyli pliki app.php, config.php, migrations.php, index.php, .env i pozostałe typowo laravelowe pliki napisałeś sam z palca? :D Proszę Cię.

Peoloper napisał(a):

@TomRiddle: trochę Cię nie zrozumiałem, jeśli chodzi o podstawowe pliki, to tak, zostały wygenerowane podczas instalacji laravela,

No to właśnie o tym mówię. 99% projektu to wygenerowany scaffold laravela (czy jak to wolisz nazywać, "darmowy template"), a Twojego kodu jest mało.

Peoloper napisał(a):

Ja wiem że ta aplikacja zawiera praktycznie same crudy, fajerwerków nie ma, chciałem się dowiedzieć czy dobrze to jakoś napisałem, co mógłbym poprawić/ zmienić, dodać/usunąć, czy "dobrze" użyłem wzorca repository, czy dodać klase Service w której mógłbym odciążyć np HomeController.
template frontu zastąpię własnym.

No, zależy jak dobrze chcesz tą aplikacje zrobić.

  • To co ja bym dodał na 100% to są testy, bo nie masz żadnych
  • Jeśli chcesz pisać dużo frontu, to ja bym wymienił laravelowy "webpack-mix" na standardowego Webpacka, zwłaszcza jeśli chcesz przejść na Vue/React/Angular. Jeśli nie, to może zostać.

czy "dobrze" użyłem wzorca repository

Repository to właściwie nawet nie jest wzorzec. To bardziej popularna nazwa którą się nadaje klasom które mają zadbać o persystencje.

czy dodać klase Service w której mógłbym odciążyć np HomeController.

Controllery to miejsca które powinny wiedzieć tylko o integracji, w Twoim przypadku o HTTP, czyli powinny wiedzieć tylko o response'ach i requestach. Jeśli znalazłaby się tam jakaś logika aplikacji, to powinieneś ją wynieść. Jednak w Twoim przypadku nic takiego tam nie ma, więc nie musisz nic robić.

Całościowo, moja opinia pozostaje: 99.99% projektu to Laravel, Twojego kodu tam prawie nie ma, więc nie ma co oceniać, tak na prawdę. Możliwe że włożyłeś dużo pracy w złożenie tego repozytorium, ale tak na prawdę to jest tylko framework i nic poza nim.

1 użytkowników online, w tym zalogowanych: 0, gości: 1