• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Prośba o code review projektu webowego

Object Storage Arubacloud
0 głosów
299 wizyt
pytanie zadane 28 lutego 2019 w Java przez anonymousProgrammer Początkujący (350 p.)

Witam,

od października zainteresowałem się aplikacjami webowymi i zacząłem od JavyEE.
Potem jakoś od końca października zacząłem pisać proste CRUD'y w springu.

Pierwsza moja 'większa' aplikacja to było napisanie API dla bankowej aplikacji.
Druga napisana aplikacja to jest też aplikacja bankowa ale napisana w springu + thymeleaf. Po prostu wyciągnąłem wnioski bo napisaniu tamtego restowego API i chciałem to napisać lepiej i nauczyć się troche front-end'u bo słabo u mnie z tym, a przy tym i tak muszę napisać projekt na zaliczenie na studia przedmiotu. Prosiłbym żebyście zrobili code review na mojej aplikacji :) W aplikacji mam zamiar napisać jeszcze testy najprawdopodobniej w spocku. Link do githuba -> Bank-Web-Application

Mam jeszcze pytanie co do mojego githuba. Przypiąłem sobie te 2 napisane aplikacje + repo z zadaniami algorytmicznymi ze spoja. Kod w tym repo jest z przed roku, początki mojego programowania i nie wiem czy usunąć to repo z przypietych czy zostawić jak jest. Co myślicie?

Jeszcze pytanie odnośnie nauki. Ogólnie to celuje w dostanie się na jakiś płatny staż na wakacje, dopiero marzec więc jeszcze czasu trochę mam. W thymeleafie raczej nie chce już nic robić, bo teraz tylko REST'owe aplikacje. Jest sens uczyć się javy + np. angulara? Będę startował na jakieś juniorskie stanowisko z javy więc myślę, że lepiej umieć dobrze jave, niż umiec średnio jave i troche angulara. Co myślicie? Czekam na konstruktywne opinie, pozdrawiam :)

komentarz 28 lutego 2019 przez adrian17 Ekspert (344,860 p.)
Czy ja dobrze widzę, że trzymasz zahashowane i nie-zahashowane hasło obok siebie?
komentarz 28 lutego 2019 przez anonymousProgrammer Początkujący (350 p.)
Tak, zapomniałem to zmienić bo sprawdzałem coś, nie pamietam juz co. Zfixuje to, dzieki :)

1 odpowiedź

+1 głos
odpowiedź 28 lutego 2019 przez mbabane Szeryf (79,280 p.)

Największy brak to taki, że nie ma testów jednostkowych.

Zatrzymałem się także nad tym:

@Component
class TransactionFactory {

    Transaction create(SendTransactionDTO dto, BankAccount bankAccount) {

        return Transaction
                .builder()
                .title(dto.getTitle())
                .description(dto.getDescription())
                .senderAccountNumber(dto.getSenderAccountNumber())
                .receiverAccountNumber(dto.getReceiverAccountNumber())
                .date(LocalDateTime.now())
                .amount(dto.getAmount())
                .account(bankAccount)
                .build();
    }
}

Bo zwykle factory robi się tak, że metoda create jest statyczna i nie robi się z tego springowego komponentu:


public class TransactionFactory {

  public static  Transaction create(SendTransactionDTO dto, BankAccount bankAccount) {

        return Transaction
                .builder()
                .title(dto.getTitle())
                .description(dto.getDescription())
                .senderAccountNumber(dto.getSenderAccountNumber())
                .receiverAccountNumber(dto.getReceiverAccountNumber())
                .date(LocalDateTime.now())
                .amount(dto.getAmount())
                .account(bankAccount)
                .build();
    }
}

Taka uwaga na temat użycia typu do pieniędzy, bo używasz zdaje się Double:

https://www.youtube.com/watch?v=1USy_dRBmsc

Zastanów się także, czy nazwa klasy SendTransactionDTO jest ok (chodzi o słówko Send) Dlaczego nie może być po prostu TransactionDTO.

komentarz 28 lutego 2019 przez anonymousProgrammer Początkujący (350 p.)
Wszystkie factory poprawie, Double zamienie na Stringa. A co do nazwy, zastanawialem sie nad nia, i wybralem SendTransactionDTO bo nie potrzebuje wszystkich pol z klasy Transaction dlatego uznalem ze Send bedzie lepsze od samego TransactionDTO, nie wiem czy wiesz co mam na mysli. Dzieki za poswiecony czas :)
komentarz 28 lutego 2019 przez mbabane Szeryf (79,280 p.)
Własnie dlatego to się nazywa DTO:

https://stackoverflow.com/questions/1051182/what-is-data-transfer-object

Słowo Send powoduje zamieszanie ponieważ jest czasownikiem. Jeszcze przyszło mi do głowy np. TransactionRequest.
komentarz 28 lutego 2019 przez anonymousProgrammer Początkujący (350 p.)
Ok, poprawie

Podobne pytania

0 głosów
1 odpowiedź 403 wizyt
pytanie zadane 21 lipca 2022 w JavaScript przez mj23 Nowicjusz (150 p.)
0 głosów
2 odpowiedzi 387 wizyt
pytanie zadane 7 września 2019 w Java przez wsxx Nowicjusz (160 p.)
0 głosów
1 odpowiedź 103 wizyt
pytanie zadane 13 stycznia w SQL, bazy danych przez whiteman808 Obywatel (1,820 p.)

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,958 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...