Nofenak
Nofenak
  • Najlepsze
  • Wszystkie komentarze
Krolik
Krolik
@Nofenak: To jakaś kolejna odmiana FizzBuzzEnterprise?

Klasy które mają po jednej metodzie? Pakiety, podpakiety, podpodpodpakiety a w środku po 3 pliki? Klasy, które nic nie robią a tylko przekazują sterowanie gdzieś dalej? Po ch*j to? Nie cierpię takiego stylu kodowania.

Projekt tej wielkości powinien być płaski. Jeden pakiet, kilka klas reprezentujących dane wyciągane z bazy, jeden serwis zawierający całą logikę.
c.....y
c.....y
Patres
@Nofenak: Nie wiem jaki masz poziom, ale ogólnie bardzo spoko to wygląda. Podoba mi się podział na domeny i że REST API jest zgodne ze standardem. Przeklinałem losowe klasy:

1. UserPasswordResetHandlerService
log.info("Mail sent");
Ten logger niczego nie mówi, dodaj kontekst (np. typ
Saly
Saly
1
Projekt tej wielkości powinien być płaski. Jeden pakiet, kilka klas reprezentujących dane wyciągane z bazy, jeden serwis zawierający całą logikę.


@Krolik: ma to sens jak chcesz sobie pocwiczyć. W praktyce taki kod nie ma sensu przy tej skali i zerowej logice
szmichal
szmichal
  • adult
1
Treść przeznaczona dla osób powyżej 18 roku życia...
N.....i
@Nofenak: Jak tam po angielsku wszystko, musisz po polsku.
Patres
@Nofenak: Tak
humblehound
humblehound
@Nofenak: Wszystko wygląda dość legitnie, natomiast ten event-driven handling to trochę overkill. Masz po jednym listenerze dla każdego eventu, prościej by było po prostu wywołać te handlery tam gdzie trzeba. Imo event-driven flow ma sens kiedy faktycznie chcemy się bawić w mikroserwisy, tutaj wprost piszesz że to jest monolit. Tak po za tym to ciężko mi się przyczepić, gj
Saly
Saly
  • adult
0
Treść przeznaczona dla osób powyżej 18 roku życia...
horus666
@Nofenak: Jeszcze się tylko zesrać na środku i będzie komplet.
Krolik
Krolik
@Saly: Ale co poćwiczyć? Pisanie projektów poszatkowanych bez sensu zelmerem?
ElderWrath
@Nofenak: Taki randomowy strzał, po co robisz UserPasswordNewService, UserCreateService, UserPasswordResetService, itd.
Nie lepiej po prostu zrobić jeden serwis dla danej funkcjonalności, np. ogólny UserService w którym możesz zrobić tworzenie, pobieranie, edytowanie usera i jego składowych
Killeras
@ElderWrath:

@
Killeras
@Nofenak: https://github.com/Sampeteq/cinema-app/blob/main/src/main/java/com/cinema/repertoire/domain/Seat.java

jak gdzieś w klasie używasz pola to nie musisz pisać this.pole tylko samo pole
Myzreal
@Krolik: Jak kiedyś nabierzesz na tyle doświadczenia żeby dołączyć do dużego i długoterminowego projektu to może docenisz staranne paczkowanie, enkapsulację na poziomie modułów i inne takie "głupoty" :)
Krolik
Krolik
@Myzreal: pracuję w projekcie mającym 500 tys. linii kodu + miliony linii kodu w zależnościach
Myzreal
@Krolik: No to patrząc na twoje podejście do tematu to nie zazdroszczę nikomu w tym projekcie xD
Krolik
Krolik
@Myzreal: nie, po prostu początkujący jak OP (i zapewne Ty też skoro go bronisz) mają zupełnie inne pojęcie dobrego kodu, takie trochę niedojrzałe. Dla nich dobry kod to taki gdzie nasrają tysiące wzorców GoF, klas, interfejsów, dziedziczenia, cieknących abstrakcji i funkcji "na przyszłość" bo a nuż kiedyś kod trzeba będzie zmienić. Przerost formy nad treścią albo inaczej overengineering, typowy dla projektów w Javie. Zabawnie jest patrzeć jak potem ten super
Myzreal
@Krolik Spoko ziomek, z czasem zrozumiesz