Cześć szukam kodu do czytania napisanego w Javie najlepiej web service oparty na spring boot i hibernate nie musi być skomplikowany ale chciałbym żeby zachowywał wszystkie standardy czystego kodu. Miał rowniez testy jednostkowe i wykorzystywał interfejsy, klasy abstrakcyjne oraz wyciągał dane z bazy danych najlepiej mySQL. Ponieważ uczę się zasad pisania czystego kodu oraz testów jednostkowych chciałbym mieć podgląd jak to wszystko wygląda w pełnym projekcie a nie na pojedynczych przykładach.
Jak by ktoś podesłał linku do takiego projektu będę bardzo wdzięczny.

- Rejestracja:ponad 2 lata
- Ostatnio:ponad 2 lata
- Postów:4


- Rejestracja:ponad 8 lat
- Ostatnio:około 5 godzin
- Lokalizacja:U krasnoludów - pod górą
- Postów:4707
Musisz się zdecydować, czy czysty kod, czy spring boot i hibernate?


- Rejestracja:ponad 2 lata
- Ostatnio:ponad 2 lata
- Postów:4

- Rejestracja:około 4 lata
- Ostatnio:6 miesięcy
- Postów:76
bo nie ma ksiazki ktora to wszystko laczy
moze podasz mi ksiazke, ktora laczy dramat, komedie, sci fi i do tego rozgrywa sie w latach nowozytnych z rycerzami, a no i jest tam fiona od shreka?




- Rejestracja:ponad 2 lata
- Ostatnio:ponad 2 lata
- Postów:4
No tak ale ja nie szukam książki tylko kodu czy to na GitHub czy gdzieś indziej. Ceeml mojego pytania było znalezienie kodu dobrze napisanego do którego nie ma zastrzeżeni oraz jest w oparciu o spring boot oraz hibernate. Może robić cokolwiek czy to będzie sklep internetowy czy cokolwiek innego nie robi różnicy.
- Rejestracja:około 3 lata
- Ostatnio:ponad rok
- Postów:2310
Miłosz Siwiec napisał(a):
No tak ale ja nie szukam książki tylko kodu czy to na GitHub czy gdzieś indziej. Ceeml mojego pytania było znalezienie kodu dobrze napisanego do którego nie ma zastrzeżeni oraz jest w oparciu o spring boot oraz hibernate. Może robić cokolwiek czy to będzie sklep internetowy czy cokolwiek innego nie robi różnicy.
Rzecz w tym, że ani springa, ani JPA / Hibernate (który z kolei wywodzi się z pionu Java EE) nie nauczysz się czytając kod napisany w stosunku do tych frameworków (nawet mniej zły)
Obszerne użycie adnotacji (i konwencji - których realizacją zapewnia olbrzymi kontener) powoduje, że nie jest on liniowy, "sekwencyjny" ( używam słowa "sekwencyjny" w szczególnym sensie, ale go nie gwałcę). Nie będziesz miał wiedzy przyczyna-skutek, co ja nazywam czarami. Bo @jarekr000000 tez używa słowa "czary", ale nadaje mu inny akcent, niezupełnie sprzeczny z moim, ale inny.
Powiedz lepiej, że chcesz (ten jak najmniej zły kod) zarypać, zmienić kilka klas i modlić się, aby czary się nie popsuły.
Poznać mozna z dokumentacji (i porażek na kolejnych próbach), gdzie konwencja za konwencją, adnotacja za adnotacją się dowiesz "jeśli napiszesz to, to skutki z drugiej strony galaktyki kodu galaktyczne będa takie a takie"
Miłosz Siwiec napisał(a):
Takie odpowiedzi tez mnie satysfakcjonuje ale jak bym mógł prosić o rozwiniecie. Ponieważ po prostu nie rozumiem dlaczego muszę wybrać.
Rozwinięcie Jarka jest m.in. na YT

- Rejestracja:około 3 lata
- Ostatnio:ponad rok
- Postów:2310
Miłosz Siwiec napisał(a):
Jak by ktoś podesłał linku do takiego projektu będę bardzo wdzięczny.
Proszę bardzo
https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition

- Rejestracja:ponad 19 lat
- Ostatnio:2 miesiące
Miłosz Siwiec napisał(a):
... uczę się zasad pisania czystego kodu oraz testów jednostkowych chciałbym mieć podgląd jak to wszystko wygląda w pełnym projekcie a nie na pojedynczych przykładach.
Czy może słyszałeś że ktoś nauczył się karate oglądając filmy z Brucem Lee?
A może słyszałeś że ktoś nauczył się malować oglądając obrazy Leonardo da Vinci?
To skąd przekonanie że czegoś się nauczysz oglądając cudzy kod?


- Rejestracja:prawie 4 lata
- Ostatnio:około 7 godzin
- Postów:252
ZrobieDobrze napisał(a):
Miłosz Siwiec napisał(a):
Jak by ktoś podesłał linku do takiego projektu będę bardzo wdzięczny.
Proszę bardzo
https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition
Błe, monolit.
Trzeba podzielić na mikroserwisy, wtedy dopiero może.

- Rejestracja:ponad 2 lata
- Ostatnio:ponad 2 lata
- Postów:4
Chciałbym sprostować trochę moje zamiary bo może przez moja niedokładności zostały inaczej potraktowane
Nie chciałem sie z cudzego kodu uczyc tych frameworków w/w ani tez kopiować niczego, ponieważ mam podstawy ich i potrafię je wykorzystać oraz wiem jak zdobywać większa wiedze w tym zakresie.
Zadajac to pytani chciałem zobaczyć do czego są robione testy jednostkowe i w jaki sposób oraz jak w kodzie wykorzystywane klasy abstrakcyjne oraz interfasie nie znaczy to ze nie wiem po co się je robi ani czemu je się wykorzystuje. Również nazywanie i dzielenie pakietów oraz cała struktura takiej aplikacji.
- Rejestracja:około 3 lata
- Ostatnio:ponad rok
- Postów:2310
Np podzial na pakiety może być w kilku szkołach.
Jeden projekt pokaże ci tylko jedno z podejść, niekoniecznie najbardziej perspektywiczne - może to być złączone z dość dobrą jakością w innych obszarch. Co wywnioskujesz?
Nic teorii nie zastapi, są nt pakietyzacji liczne YT, w tym po polsku
Nt kals abstrakcyjnych niedawno była tu gorąca dyskusja. Interfejsów jest często za dużo (zależnie od szkołu otwockiej czy falenickiej) a tylko przez sposób myślenia o wstrzykiwaniu (przez wielu uważane za zuo).
uważam, ze nie zyskasz nic w stosunku do poświęconego czasu. 3godz? 5 godz na jeden wiekszy projekt? 2 dni? To ile pożytecznych "filmików" obejrzysz w tym czasie
Sam Spring jest (zdaniem wielu) złym projektem, choć ma dominację rynkową - to jest bardzo częste.
Więc w tej samej skali czego szukasz? Dobrze zaprojektowanego (o ile to możliwe), a o niskim udziale (mało gwiazdek githubowych), czy słabiznę ale masowo "lubianą" przez kopiujacych czy podobnych do ciebie.
Źle postawione pytanie / cel.

- Rejestracja:prawie 15 lat
- Ostatnio:około 12 godzin
- Lokalizacja:Laska, z Polski
- Postów:10055
Nie chcę się chwalić, ale ale mógłbyś obczaić moją bibliotekę: https://github.com/T-Regx/T-Regx/tree/master/src/CleanRegex (np pakiet Parser
jest dobrym przykładem: https://github.com/T-Regx/T-Regx/tree/master/src/CleanRegex/Internal/Prepared/Parser) Według mnie napisana w duchu "Clean Code"'a.
Tylko że to jest biblioteka, a nie aplikacja, więc może nie być tym czego szukasz dokładnie.
Co prawda PHP a nie Java, ale zasady czystego kodu powinny być takie same (nazewnictwo, funkcje, klasy, testy, etc.).


- Rejestracja:około 11 lat
- Ostatnio:mniej niż minuta
- Postów:8398
Miłosz Siwiec napisał(a):
Cześć szukam kodu do czytania napisanego w Javie najlepiej web service oparty na spring boot i hibernate nie musi być skomplikowany ale chciałbym żeby zachowywał wszystkie standardy czystego kodu.
Nie mam pojęcia, co to jest ten Spring Boot i Hibernate, ale szukanie tego na GH w zakładce repo znalazło mi coś takiego:
https://github.com/AnghelLeonard/Hibernate-SpringBoot
About Collection of 300+ best practices for Java persistence performance in Spring Boot applications
tu jakaś książka jest o tym i przykłady kodu.
poza tym są jakieś inne repa: https://github.com/search?q=spring+boot++hibernate&type=repositories
ale nie wiem, jaka jest ich jakość, nie piszę w Javie nawet.
- Rejestracja:około 3 lata
- Ostatnio:ponad rok
- Postów:2310
LukeJL napisał(a):
ale nie wiem, jaka jest ich jakość, nie piszę w Javie nawet.
Hmmmm ... nawet jakby zostawić poza głową świętą wojnę z kontenerami, wstrzykiwaniem, koniecznym do tego aspektowaniem itd, to Spring nie jest zamierzony do wygrywania konkurów pieknosci, a masowego klepania kodu wielkich aplikacji webowych
jego zamysł z latami ukszałtował się w przynajmniej dwie-trzy grupy roziwazań
a) frameworkową, czyli wyznacenie osi (kręgosłupa) koło którego apliakcja jest budowana (zostawmy kolejną św wojnę frameworki vs biblioteki **)
Ale przyjmijmy, mógłby to być jakiś dobrze (?) zaplanowany framework
b) biblioteczną, tu nasuwają mi się XxxxxTemplate *)
, elementy mniej (wcale) nie frameworkowe, a skróty do "czynności" Czynność z Rest, czynność z JDBC, wysuwające swoje obietnice
c) maksimum dróg na skróty, dla tej produktywności w korporacyjnym klepaniu, (rzekomych) ułatwień, @JednaAdnotacjaZaKupęKodu
itd. Przywołam, jak uczymy początkujacych: metoda=jeden czasownik (a nie sekwencja czasowników ze słowami 'i')
Już samo to bardzo utrudnia zrobienie tego Clean Code czysta libka z jedną dziedziną, to miód przy takim splocie
*)
milion lat temu, jak nie było szerokiego rynku maperów obiektowo-relacyjnych, miałem nieszczęście wspierać decyzję do desktopowej apki ... no jak zmapujemy ... no to JdbcTemplate (bo piszą o tym dobrze). Jak to pociagnęgło pierdyliard zaleznosci, z aspektami, najwdziwneijszymi zreczami - powinno dać do myślenia - ale kontunuowaliśmy. na szczęście projekt wykonał swoją rolę, po latach poszedł w odstawkę, ale nigdy tego błedu juz nie popełniliśmy. Tym niemniej "bibliooteka" dość dziwna.
**)
chyba największą winą wszelkich frameworków jest to, że obiecują izolację od abstrakcji niższych, ale im te abstrakcje wyciekają / albo coś uniemożliwiaja
- Rejestracja:ponad 8 lat
- Ostatnio:około 2 lata
- Postów:204
Pomijając śmieszki innych użytkowników. Będzie Ci bardzo trudno znaleźć kod, który jest czysty i oparty na spring boot i hibernate - a to z tego powodu, że te dwie zależności bardzo utrudniają pisanie czystego kodu. Od kiedy pracuję, to usilnie próbuję napisać coś, co będzie miało znamiona czystego kodu w tychże technologiach dalej mi się nie udało (nie sądzę, żeby to było w ogóle możliwe).
Jeśli uda ci się coś takiego znaleźć, to podeślij - bardzo chętnie zobaczę

- Rejestracja:około 6 lat
- Ostatnio:ponad rok
- Lokalizacja:Zielona Góra
- Postów:83
@Miłosz Siwiec: Wg. mnie z tego się można bardzo dużo nauczyć. Kod jest dobry, ale co najważniejsze jest dużo opisu dlaczego tak a nie inaczej. https://github.com/ddd-by-examples/library
Oczywiście można się kłócić / śmiać że DDD. Tutaj ludzie bardzo różnie do tego podchodzą. Że te agregaty paskudne są, albo że adnotacje użyte czy coś. Że w wielu miejscach kod ma wiecej niż 3 linijki w metodzie i uncle bob jest zawiedziony. Ale myślę że jak produkcyjnie byś się z takim spotkał w pracy to miałbyś wiele szczęścia I są też elementy w których kod jest nie tylko czysty ale i pragmatyczny.