Krótka, w sam raz do kawki, polemika na temat TDD pomiędzy Wujkiem Bobem (programistą z ponad półwiecznym doświadczeniem) i Davidem Heinemeierem Hanssonem (twórcą frameworka webowego Ruby on Rails). https://michalkulinski.blogspot.com/2017/04/testowanie-w-stylu-chop-zywemu-nie.html

#informatyka #it #unclebob #tdd #testowanieoprogramowania #rubyonrails
coola - Krótka, w sam raz do kawki, polemika na temat TDD pomiędzy Wujkiem Bobem (pro...

źródło: comment_0rdP9oEatLfmWLZYvkHuIauC6vAuZ89Z.jpg

Pobierz
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@coola: wujek bob to najwieksza sciema ever. Widzialem goscia na zywo, wypromowal sie i kreuje na nie wiadomo kogo a ostatni kod napisal pol wieku temu. Ugh. Do tego jest bardzo dogmatyczny. Absolutne nie dla tego goscia.
  • Odpowiedz
Potrzebuję porady. Staram się w każdym moim projekcie wdrażać jakieś wzorce i działać zgodnie ze sztuką. Ale co rusz trafiam na z pozoru trywialny problem i mam blokadę. Taki sam problem mam ze wzorcem repozytorium. Niby prosty i łatwy w implementacji. Jednak z tego co rozumiem, każde repozytorium obsługuje jeden typ obiektów. Co zrobić w przypadku kiedy chcę wyciągnąć z bazy dwa typy obiektów za jednym zapytaniem z join? Przykładowo, mam ConsumptionRepository
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@siemanko: No, czyli wspiera raczej JPA, więc jak chcesz, żeby wszystko było zgodnie z korpostandardami powinieneś wszystkie wiązania utworzyć w klasach @Entity i wtedy pobierając jeden typ obiektu możesz pobierać (najlepiej LAZY) połączone z nim listy obiektów/obiekty.
  • Odpowiedz
@siemanko: Wykonuje zapytanie, ale innego sposobu nie ma, bo gdzieś tego joina przecież musisz zrobić - co więcej przy lazy fetch w JPA pobranie wiązanych obiektów może być wykonane np. dopiero w obiekcie serwisowym (tylko w tej samej transakcji...) dzięki czemu repo pozostaje czyste od innych obiektów tak naprawdę.
A w repo (czyli lepiej zaprojektowanym DAO a niekoniecznie tylko CRUD) oczywiście mogą znajdować się funkcje filtrujące wyniki po składowej encji
  • Odpowiedz