Korzystając z kontenera DI używacie automatycznej opartej na konwencjach rejestracji serwisów czy sami rejestrujecie wszystko ręcznie? #csharp #programowanie
@Priya: Kiedy mam kilka projektów(web api) które korzystają ze wspólnych serwisów domenowych i nie mam żadnej rejestracji opartej na konwencji to tracę ~30% czasu swojego developmentu żeby to ręcznie zarejestrować. Czytałem kiedyś że korzystanie z kontenera bez konwencji mija się z celem i już lepiej stosować wtedy dependency inversion na poziomie composition root ręcznie.
@Saly: Zgadzam się, to dobre rozwiązanie w wypadku braku kontenera, albo swiadomej decyzji żeby go nie używać. Jest nawet taki wykres z jednej książki złożoności do zysku. Na tym wykresie brak kontenera i ręczny composition root ma niską złożoność i wysoki zysk. Ręczna rejestracja w kontenerze ma niski zysk srednią złożoność. Automatyczna rejstracja ma wysoki zysk i wysoką złożoność. Oczywiście nie są to dane naukowe tylko zdanie autora książki -
Co myślicie o anemicznych encjach mapujacych 1:1 bazę danych na obiekt zmienianych w 30 serwisach w skomplikowanym procesie biznesowym? #programowanie #csharp #java
@Whiskeyjack29: Jak to się u mnie mówi, "feel free to refactor". Narzekać na gotowe jest łatwo, opisać duży proces albo co gorsza go "wyczyścić" już trudniej.
@aloucie: Jak ktoś tego nie umie to nie powinien zarabiać więcej niż 5k bo daleko mu do profesjonalizmu ( ͡°͜ʖ͡°). Ja wiem czy feel free? "Po co to takie skomplikowane, wczesniej wszystko mogłem se ustawić"
kupiłem to całe #ps5 i chyba zagram w kilka gier których nie ma i nigdy nie będzie na pc (dosłownie 5-7 które mnie interesują) i sprzedam konsolę. Nie widzę poprostu sensu w posiadania konsoli na którą praktycznie nie będzie exclusiwow jak wszystko mogę ograć na pc z rtxem. Praktycznie wszystko co mnie interesuję jest albo w przyszłości wyjdzie na pc np. Ghost of tsushima i można powiedzieć że trzeba czekać
@Whiskeyjack29: dawaj fotę z napisem alecoto to pedau i konsolą z wykopem w tle albo kasuj konto bo pewnie masz akcje pt. Strasznie chciałbym konsole ale matka powiedziała że nie wyda na mnie 3 tysiące zlotych( ͡°͜ʖ͡°)
Używacie w pracy paternów DDD ( za moich czasów nazywali to programowanie obiektowym ( ͡°͜ʖ͡°)) i tworzycie agregaty rooty czyli klasy które zawierają logikę zapewniająca poprawność danych i udostępniają tylko konkretne operację czy może jak to mawia klasyk "encja na twarz i pchasz". ORMowe encje są odzwierciedleniem rekordu z bazy danych i wszystko ma publiczne setery którymi ustawiacie co akurat potrzebujecie w kontrolerach, ewentualnie luźno powiązanych
@Whiskeyjack29: 1.Głównie robię tak, przyjmuje coś z kontrolera, mapuje ma obiekt domenowy (1 mapper), w serwisie na tym obiekcie operuje i następnie zapisując do bazy tworzę obiekt bazodanowy (2 mapper), w drugą stronę tak samo.
2. Staram się by nazewnictwo z innych serwisów nie przenikało do mojej domeny biznesowej, mikroserwisu. Stąd znowu te mappery się przydają.
Póki co żyje z tym w kontraktornii, 3.5 lata stażu na karku tak robię i inni
Wspaniałe porównanie "wydajności" pod względem liczby linijek kodu względem wymagań appki webowej - ale raczej CRUD, czyli ta sama appka na 1000 sposobów i frameworków.
@Whiskeyjack29: To co ci szkodzi grać sobie na rtx3080 w shower with dad simulator a gry na ps5 zawsze możesz ograć 3 lata po premierze albo obejrzeć na YouTube
@klinaklinem: Tak tak, a potem klient chcę coś dodać i biedny programista musi napisać wysryw na mikroblogu bo jego poprzednicy mieli wszystko w dupie( ͡°͜ʖ͡°)
Co sądzicie o krótkich opisowych metodach/funkcjach tak jak to opisuje Robert C. Martin w książce "Czysty kod"? Czyli metoda powinna mieć max 5-10 linijek w raz z deklaracją i kolejne w hierarchii metody powinny zawierać coraz więcej niskopoziomowych detali a te wyżej być bardziej ogólne i opisowe. Całość powinna się czytać jak dobra gazeta gdzie mamy nagłówek i dopiero wtedy decydujemy czy sięgnąć głębiej do szczegółów. To tak w teorii, bo w
@Whiskeyjack29: wg mnie przegięcie z mikro-metodami, o ile sam sobie piszesz dla siebie to spoko ale jak musisz przedebuggować czyiś kod to robi się irytujące
@Whiskeyjack29: Ja jestem zwolennikiem zdroworozsądkowego kodu i zdroworozsądkowego peer-review. Jak metoda nie mieści się na ekranie nowoczesnego monitora, to coś jest nie tak.
Teraz wszyscy są neofitami clean code'u i o ile założenia są dobre to ludzie zamiast przeczytać i spróbować zrozumieć twój kod, wejść na powiazane story w jirze żeby zobaczyć jakie były cele tych zmian to przyczepiają się do bzdet i udają że zrobili code review.
#programowanie