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

Code Review. Kalkulator Model-View-Controller

Object Storage Arubacloud
0 głosów
468 wizyt
pytanie zadane 12 września 2019 w Java przez invokeLater Początkujący (310 p.)

Siemanko,

Stworzyłem kalkulator stosując wzorzec architektoniczny Model-View-Controller oraz bibliotekę Swing. Chciałbym żebyście zrobili code review, z chęcią i pokorą przyjmę wszystkie rady. Proszę tylko bez wyzwisk. Wszelkie zastrzeżenia odnośnie zastosowania wzorca oraz innych aspektów. Kalkulator miał działać zgodnie z kolejnością wykonywania działań oczywiście, dbając o to by nie wprowadzono np. podwójnego znaku mnożenia. Docelowo ma rozwiązywać równania, ale póki co equation solver jeszcze nieokodowany. Z góry dzięki i nie krzyczcie hah ;)

Tutaj Github: https://github.com/TheRebMon/KalkulatorMVC .

 

1 odpowiedź

+1 głos
odpowiedź 13 września 2019 przez Paweł Nąckiewicz Nałogowiec (48,990 p.)
wybrane 17 września 2019 przez invokeLater
 
Najlepsza

Dobra, kod jest całkiem fajny. Bardzo dobrze, że piszesz po angielsku i ze masz odpowiednią strukturę plików. Ja generalnie nie znam się na swingu więc nie wypowiem się na temat użytych komponentów ze swinga ale skupię się na czytelności kodu. 

W całym kodzie brakuje jednolitego formatowania:

- formatowanie kodu (gdzie niegdzie za duzo nowych lini, jakiego IDE uzywasz? - kazdy ma jakis auto formater wbudowany)

klasa ButtonsPanel

- wywal komentarze (po to jest historia na gicie zeby sprawdzac poprzednie wersje)- twoje menu (linia 56+) wyrzuc do innej funkcji

- showUI() i to wszystko co sie dzieje w srodku mozna zrobic za pomoca petli i to bedzie lepeij skalowalne. 

klasa MainPanel

- linia 93 -> if (for(if - nie idzie sie w tym polapac i na pewno da sie to zrobic bez takiego zagniezdzenia. PAMIETAJ if w ifie to nie jest dobra praktyka, a ty tam jeszcze petle dajesz :D

klasa Model

- to samo co wyzej odnosnie for(if(if))) w az 4 miejscach

klasa Wrapper

- to samo co wyzej for(if(if(switch)))) - koniecznie to popraw :)

 

komentarz 13 września 2019 przez invokeLater Początkujący (310 p.)

Bardzo dziękuję za komentarz. Daje mi to świeże spojrzenie na kod :) Szczególne jeśli chodzi o te ify, które dla mnie wydawały się dość naturalne, okazały się być nienajlepsze. Poprawię i za jakiś czas zapraszam zerknąć znowu laugh 

komentarz 13 września 2019 przez Paweł Nąckiewicz Nałogowiec (48,990 p.)
Spoko a jakiego IDE uzywasz?
komentarz 13 września 2019 przez invokeLater Początkujący (310 p.)

Eclipse Java

Używam auto-formatowania, ale ja stawiam klamry raczej w taki sposób: 

public void someMethod()
{
     //body
}

Eclipse robi to w ten "drugi" sposób, dlatego są takie nieścisłości, bo po prostu zapominam czasami sprzątnąć po sobie autoformatem. Dodatkowe linie natomiast pomagają mi jak chcę sobie coś poprawić w napisanym już kodzie, A uzywanie skrótu jeszcze nie weszło mi w krew smiley

komentarz 13 września 2019 przez Paweł Nąckiewicz Nałogowiec (48,990 p.)

Spoko, polecam jednak uzywanie klamer typu 

funkcja(){
   ...
}

To jest jednak niepisany standard Javy i nigdy nie spotkalem sie z projektem, w ktorym ktos by inaczej pisal. Gdy bedziesz robil projekt komercyjny tez bedziesz musial tak pisac. Z drugiej strony gdy mialem za zadanie napisac cos w jezyku w ktorym klamry byly stawiane inaczej po prostu to akceptowalem i pisalem wedlug zasad danego jezyka, wiec wiem ze przestawienie sie to nie jest problem. 

komentarz 13 września 2019 przez invokeLater Początkujący (310 p.)

Mus to mus, rzeczywiście, dlatego, że póki co sam jestem sobie żaglem, sterem i okrętem to nie pomyslalem, że w sumie kiedyś i tak będzie trzeba przestawić się pod grupę :p Dzięki bardzo! laugh

Podobne pytania

+1 głos
3 odpowiedzi 720 wizyt
0 głosów
2 odpowiedzi 386 wizyt
+72 głosów
0 odpowiedzi 228,451 wizyt

92,536 zapytań

141,377 odpowiedzi

319,456 komentarzy

61,922 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!

...