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

Java - ocena kodu i programu

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
+3 głosów
574 wizyt
pytanie zadane 13 sierpnia 2017 w Java przez Wi_ktos Bywalec (2,950 p.)
Witam !

Razem z kolegą napisaliśmy program w Javie. Jest to nasz pierwszy program i bardzo chcielibyśmy aby ktoś kto ma większe doświadczenie od nas ocenił nasz program pod względem kodu i organizacji działania programu. Staraliśmy się aby wyszło jak najlepiej jednak wiele rzeczy można było zrobić pewnie jeszcze lepiej i to właśnie chciałbym od Was dostać jako mały feedbaczek :).

Program generuję stronę internetową taką jaką stworzy użytkownik w GUI. Możliwości programu nie są jakieś wybitne ale też nie najbanalniejsze :). Pisaliśmy go we dwójkę, obydwoje dzierżąc w rączkach książki związane z podstawami programowania w Javie, więc już na starcie nie spodziewaliśmy się jakiś fajerwerków związanymi z możliwościami aplikacji ;D. Strony internetowe są raczej proste do napisania znając podstawy HTML i CSS więc program pozwala ominąć... powiedzmy pierwsze pół godziny pracy z tymi językami.

Kod znajduje się pod tym linkiem :
https://github.com/KonWoj/PageCreator

Zachęcamy również innych do dalszego rozwijania naszego pomysłu. Mamy nadzieje, że może ktoś będzie chciał w ramach samorozwoju rozszerzyć możliwości naszego kreatorka, a może coś zmienić. Jeśli taka osoba się znajdzie to link do całego projektu posiada a obydwoje z kolegą służymy zawsze radą (pisać na priv) i wyjaśnieniem co co robi i po co jest :P.

Na koniec chciałbym zachęcić wszystkich do znalezienia kolegi i pracy razem nad programem gdyż pomimo wielu rzeczy związanych z Javą jakich się nauczyliśmy, błędów w trakcie, które popełniliśmy i których pewnie w przyszłości się wystrzeżemy, nauczyliśmy się działać razem i razem tworzyć program... pracą zdalną :), a to chyba jest czasami nawet ważniejsze niż sama umiejętność dobrego kodzenia :D.

Pozdrowienia dla wszystkich pasjonatów !!!
komentarz 13 sierpnia 2017 przez Wi_ktos Bywalec (2,950 p.)
Gdyby ktoś chciał gotowy plik .exe to dostępny jest pod linkiem :
https://www.dropbox.com/s/btf5mfp9rvj583m/HTMLPageCreator.zip?dl=0

1 odpowiedź

+1 głos
odpowiedź 13 sierpnia 2017 przez mbabane Szeryf (79,260 p.)
wybrane 14 sierpnia 2017 przez Wi_ktos
 
Najlepsza

Testy jednostkowe. Brawo! Mało kto w pierwszym projekcie to robi (tak mi się przynajmniej zdaje).

Testów jednostkowych nie powinno się umieszczać razem z kodem wynikowym tj. nie dołącza się go w ostatecznej kompilacji. Testy jednostkowe są dla programistów, aby móc w przyszłości bez przeszkód i elastycznie dodawać kolejne funkcjonalności (a jeśli są na prawdę dobrze napisane (np. w podejściu TDD) to stają się dokumentacją dla programistów).

Najlepiej jest zrobić tak, ze tworzy się dwie główne paczki/katalogi. Jeden to main, gdzie są klasy i pakiety składające się na funkcjonalność programu wynikowego. Drugi to test, który jest kalką maina i zawiera klasy testowe oraz pomocnicze rzeczy do testów. Oba katalogi/paczki (main i test) umieszcza się w katalogu src. W katalogu resources umieszcza się np. obrazki z których się korzysta w programie.

Coś takiego:

http://www.vogella.com/tutorials/Gradle/img/xgradle_init_java_library.png.pagespeed.ic.phBJcmrDN9.png

Taka klasa np.:
CSSAttribute https://github.com/KonWoj/PageCreator/blob/master/Resources/CSSHandlerClasses/CSSAttribute.java
w niej jest metoda: parseFromString

Jest dość długa i zawiera komentarze, wiec pewnie można podzielić ją na kilka metod prywatnych. Każda z nich będzie realizować to co opisane jest komentarzem, a ten można zastąpić odpowiednia nazwa metody. Zajrzyjcie do książki Czysty Kod -> http://helion.pl/ksiazki/czysty-kod-podrecznik-dobrego-programisty-robert-c-martin,czykov.htm

1
komentarz 13 sierpnia 2017 przez Wi_ktos Bywalec (2,950 p.)
Wow, dziękuje za tą odpowiedź posiada słuszne rady i na pewno wpłynie na nasze przyszłe programy :).
Dziękujemy także za lekturę na pewno nie ominiemy jej w naszym rozwoju ! :D
komentarz 13 sierpnia 2017 przez mbabane Szeryf (79,260 p.)
edycja 14 sierpnia 2017 przez mbabane
Jeśli w miarę swobodnie korzystacie ze Swinga, to pobawcie się JavaFX, jest to dużo nowszy standard do tworzenia GUI.
komentarz 14 sierpnia 2017 przez Wi_ktos Bywalec (2,950 p.)
Kolejna dobra rada dzięki bardzo :) !
komentarz 14 sierpnia 2017 przez mbabane Szeryf (79,260 p.)
Uruchomiłem aplikacje. Aplikacja całkiem ciekawa. Nie musiałem np. godzinę zastanawiać się co jest co. Zapomnieliście tylko chyba o jednej rzeczy (albo jej nie widzę). Chodzi o to że jak wejdę w ten ostatni krok (czyli wpisywanie zawartości do generowanej strony) to chyba nie da się powtórzyć całości od nowa, bądź powrócić do poprzedniego kroku bez restartu aplikacji.

A jeszcze taki mały szczególik. Jak nie zapisze zawartości i kliknę krzyżyk zamykający aplikacje to wyświetla się: "Page not saved. Do you want to continue?" -> Klikam "No" i kontynuuję pracę w programie ;), a jak klikam "Yes" to zamyka aplikacje.
1
komentarz 14 sierpnia 2017 przez Wi_ktos Bywalec (2,950 p.)
Tak moglibyśmy dodać w sumie powrót do menu głównego czy inną możliwość dobra rada :).

Natomiast co do okienka kontynuacji. Chodzi nam o to czy chcesz kontynuować zakańczanie pracy więc przyciski działają całkiem solidnie :).

Podobne pytania

+1 głos
2 odpowiedzi 253 wizyt
pytanie zadane 8 lutego 2020 w JavaScript przez Dev26 Nowicjusz (130 p.)
0 głosów
2 odpowiedzi 455 wizyt
pytanie zadane 18 lutego 2017 w JavaScript przez Szymon213 Nowicjusz (160 p.)
0 głosów
5 odpowiedzi 1,072 wizyt
pytanie zadane 11 września 2017 w Java przez Patryk Moros Początkujący (470 p.)

93,444 zapytań

142,436 odpowiedzi

322,697 komentarzy

62,806 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

...