Wpis z mikrobloga

Jest coś takiego jak ddd. Bardzo popularny temat ostatnio. Wiecie te szkolenia, podcasty, wywiady etc. Jak widzę informacje że rusza kolejna runda online kursu dla architektów/czystego kodu/czystej architektury i ile tysięcy ludzi już ten kurs zrobiło to naprawdę cieszę się szczęściem autorów kursu. 

Czemu? Bo większość projektów które mi się trafiły do przejęcia / poprawki / konsultacji były pisane w ddd xD Może i mają rozbudowana architekturę, nie potrzebne wzorce ale przynajmniej  przekroczyły terminy oddania i budżet xD

Często rzeczy które mógłby być skryptem albo crudem z 4 endpointami wyglądają jak mini Netflix czy fb. 

Widziałem parsowanie csv pisane jako 12 factor app, docker, envy jakby aplikacja była deployowana w 50 wersjach, schemy pod dane z pełną walidacja pol, w cholerę testów, cqrs (xD)  czy nawet raz wydzielona osobna paczka do pobierania pliku csv i serwis co robił jej parsowanie (bo inne domeny xD). A potem dane zmieniają się dość regularne i każde poprawki zajmują parę dni/sprintów roboczych. 

Zupełnie nie rozumiem czemu ludzie sobie tak utrudniają życie. Wydaje mi się że na słuchają się na kursach o tym że trzeba bo jakość, biznes, standardy etc i robią. To że pewnie jakiś ułamek kursantów potem spotka w życiu projekt który naprawdę tego wymaga to inna sprawa. A że dużo ludzi którzy prowadzą te szkolenia ostatni raz napisało coś 2009 i trochę są oderwani od rzeczywistości to inna sprawa.

Ja polecam wkładać ddd, czysty kod wszędzie gdzie się da. Wy macie robotę podczas pisania a ja potem mam robote jak to przejmuje xD
#programowanie #it #ddd #czystykod
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@pkh: Bez clean architecture gdy projekt będzie się rozrastał to będziesz siedział 10x dłużej na refaktorze dlatego od razu stosuje się najlepsze praktyki
  • Odpowiedz
@pkh: Większość osób rozumie i rozwija ten skrót jako Domain-Driven Design co ma bardziej zastosowanie w bizesowych zastosowaniach ale jest jeszcze data-oriented design który popularniejszy jest w zastosowaniach które wymagają duzo obliczeń np gry komputerowe czy AI i to drugie daje wiekszy zysk przy zastosowaniu, ale zmniejsza czytelność
  • Odpowiedz
@pkh: To co opisałeś to nie są problemy wynikające z DDD, tylko z wszechobecnego podążania za hypem w tej branży. Większość komercyjnych aplikacji nie potrzebuje mikroserwisów, CQRS, event sourcingu, event streamingu, NoSQL i różnych innych buzzwordów. Są oczywiście sensowne przypadki użycia dla każdego z nich, ale to zdecydowana mniejszość w porównaniu z tymi wszystkimi mniej lub bardziej rozbudowanymi CRUD-ami ¯_(ツ)_/¯

A samo DDD jest w rzeczywistości jedynie zbiorem pewnych dobrych
  • Odpowiedz
via Android
  • 1
@tylko_zerknalem Całkowicie się z tym zgadzam. Trochę może zaadresowalem to w stronę ddd bo mam wrażenie że ostatnio jakoś bardzo to wrocilo, ale w sumie dokładnie chodzi o hype i używanie niepotrzebnych technologi na siłę by być fajnym
  • Odpowiedz
  • 1
@pkh: Te "projekty DDD" powstają tak:
1. Robiłem prostego CRUDa, który wymknął się spod kontroli bo n-------m narzędzi zamiast po prostu programować (easy vs simple)
2. Idę na kurs DDD bez znajomości podstaw, bo wszystkie moje błędy przed zderzeniem ze ścianą ukrywał framework.
3. Nadal nie wiem jak powinien wyglądać prosty CRUD, więc wrzucam wszystkie wzorce jakie jestem w stanie upchnąć, licząc że DDD magicznie wszystko naprawi.
4. Mam "DDD",
  • Odpowiedz