Robię code review swojego programu z 2014 roku...

  Рет қаралды 18,947

DevMentors

DevMentors

Күн бұрын

Пікірлер: 58
@brtk7
@brtk7 2 жыл бұрын
Szacun za poruszenie tego tematu. Od razu człowiek czuje się lepiej ;)
@123tymek
@123tymek 10 ай бұрын
Po obejrzeniu filmu i zobaczeniu twojego kodu stwierdzam, ze jestem gdzie powinienem i w sumie nie idzie mi tak zle biorac pod uwage, ze skupiam sie zdawaniu zajec na studia bardziej niz kodowaniu. Fajny material, dziekuje.
@MikkalYT
@MikkalYT 2 жыл бұрын
Ciekawy odcinek jak zawsze łapeczka leci :) PS: Naming metody do wybrania najdłuższego nazwiska odrazu przykuł moją uwagę 🤭
@mjunior771
@mjunior771 2 жыл бұрын
Dzięki za poświęcony czas - świetna robota - sam zrobie sobie to zadania :) P.S. Fajny kanał
@CoderCoder1337
@CoderCoder1337 2 жыл бұрын
Fajny materiał, zmotywował mnie do trzymania większego porządku w kodzie ;)
@DevMentorsPL
@DevMentorsPL 2 жыл бұрын
Super 💪
@MrFrixo7
@MrFrixo7 2 жыл бұрын
Chapeau bas, genialny materiał, można wyciągnąć dużo wniosków i przemyśleń!
@muczos
@muczos 2 жыл бұрын
Mega tresc. Ogladalem na kilka razy, ale warto. Fajnie, ze wszystko dopowiedziane. Nie skracane. Duzo wiedzy nabytej
@DevMentorsPL
@DevMentorsPL 2 жыл бұрын
Dziękuję! Bardzo mi miło :)
@Bob_Vance
@Bob_Vance 2 жыл бұрын
CountRaws :D Swietne, robcie to dalej bo fajnie sie was oglada/slucha.
@DevMentorsPL
@DevMentorsPL 2 жыл бұрын
Dziękujemy ;)
@ILogger
@ILogger 2 жыл бұрын
Fajny content, przyjemnie się słucha - szczególnie w drodze na daily :D
@DevMentorsPL
@DevMentorsPL 2 жыл бұрын
Dzięki :D
@2002misko
@2002misko 2 жыл бұрын
bardzo fajnie się to ogląda, zwłaszcza że sam dopiero zaczynam przygodę z .Netem, jak wiadomo jest tylko jedna rzecz lepsza od uczenia się na swoich błędach- uczenie się na cudzych błędach. Z drugiej, też to motywujące, bo widzę że to co ja uważam za idiotyczne gdy patrzę na swój własny kod, to czego nie umiem, okazuje się że to w pełni naturalne i że będę słaby, a potem będę lepszy ale nadal słaby, a jak już będę parę lat w pracy to będę słabo zaawansowany, bo jeśli kiedyś pomyślę że "ah, teraz jestem dobry, już nie mam niczego do poprawienia" to oznacza to że nastąpił w moim życiu zastój. Miły materiał :)
@zxcvmati1
@zxcvmati1 2 жыл бұрын
Super materiał :)! Więcej tego typu materiału :)
@unimaru3765
@unimaru3765 2 жыл бұрын
Aktualnie jako architekt oprogramowania dosyć często robię code review osób aplikujących do firmy. I Pana kod został by odrzucony. Gdyż w linii 177 napisał Pan że Kapitan Ameryka należy do DC, co nie jest prawdą gdyż Kapitan Ameryka należy do Marvel. Na resztę bym przymknął oko :).
@core1983dev
@core1983dev 2 жыл бұрын
Hejka, nie było VS2013 jak już to 2012 ;-) Jetbrains w tamtym roku jeszcze nie myślał o Riderze, no i w tym roku były autoproperies ;-)
@danielkotecki7275
@danielkotecki7275 2 жыл бұрын
Zajebisty filmik i fajnie że taki długi bo mam co oglądać do programowania w PHP. 🙂😅🤣 jesteście zajebiści . Pozdrawiam serdecznie i życzę aby w poniedziałkowy dzień wszystko działo i żeby programy się kompilowały 😄🙂
@DevMentorsPL
@DevMentorsPL 2 жыл бұрын
Dzięki i przyłączamy się do życzeń :D
@MrBlue-ev8ow
@MrBlue-ev8ow 2 жыл бұрын
Fajnie się Ciebie słucha :) Chociaż ja osobiście nienawidzę klas, które mają w nazwie "Service". IMO tak jak nazwy metod mają znaczenie, tak samo nazwa klasy też ma duże znaczenie, a tymczasem "Service" nic nie mówi, może zawierać dosłownie wszystko. Parę rzeczy bym zrobił inaczej, z paroma się nie zgadzam, ale to chyba indywidualna kwestia podejścia do tworzenia kodu.
@TymToJa
@TymToJa 2 жыл бұрын
Konkretnie! Czytanie swojego starego kodu dobrym lekarstwem na syndrom oszusta.
@czerdos1995
@czerdos1995 2 жыл бұрын
33:00 czy znasz sytuację w której użycie ref dla typu referencyjnego miałoby sens ? Osobiście widzę pewien sens, gdy chciałbym przekazać listę do metody void i chciałbym poinformować że lista zostanie zmodyfikowana.
@czerdos1995
@czerdos1995 2 жыл бұрын
W mojej opinii, W większość przypadków takie działanie raczej nie byłoby mi potrzebne (przekazanie ref), bo wolałbym stworzyć metodę która zwróci listę niż metodę void która zmodyfikuje listę.
@ArekTheBoss
@ArekTheBoss 2 жыл бұрын
@@czerdos1995 to potencjalnie mogło by mieć sens gdybyś zastosował podejście CQS.
@xMsDanielx
@xMsDanielx 2 жыл бұрын
Z prelegentami i ich "ubóstwianiem" miałem podobnie. Jak można pisać kod bez błędów i jeszcze o tym opowiadać. Czar prysł gdy sam zostałem prelegentem na jakichś mniejszych meet upach. Mimo, że nawet nie czułem się super w temacie który przedstawiałem to odpowiednie przygotowanie i wcześniej napisany kod na drugim ekranie sprawił że prezentacja była bardzo profesjonalna xd
@DevMentorsPL
@DevMentorsPL 2 жыл бұрын
A to już temat na inny odcinek😀
@real_belmondziak
@real_belmondziak Жыл бұрын
Patrzę na ten kod - jakbym widział swój ;)))
@patrykczyz7327
@patrykczyz7327 Ай бұрын
Z jakiego powodu zdecydowałeś się na użycie w parametrach "Func get..." zamiast przekazania już pobranych wartości do printowania?
@mcshdf
@mcshdf 2 жыл бұрын
tak jak nienawidze c#, przyjemnie sie to oglada
@MCPVP-2025
@MCPVP-2025 2 жыл бұрын
31:47 pewnie używałeś String z dużej bo w Javie się tak robi
@tomlyn1124
@tomlyn1124 2 жыл бұрын
Dla mnie tak zwana ściana kodu jest zdecydowanie czytelniejsza niż umieszczenie wszystkiego w milionach klas. Potem trzeba otwierać miliony plików i próbować połapać się co się z czego bierze, a tak ma się wszystko od góry do dołu i od razu widać wszystkie operacje.
@lysy-zn2gg
@lysy-zn2gg 2 жыл бұрын
No właśnie, ma to swoje plusy i minusy. Przy tak małym projekcie, dzielenie go na 7 plików zbytnio sensu nie ma. Wywaliłbym jedynie wszystko związane z konsolą w osobny plik, no bo wiadomo. Jednak w założeniu nie jest to jakiś program, który faktycznie ma coś robić, a jedynie zweryfikować nasze umiejętności. Pracodawca wymagałby programowania obiektowego (w końcu C#, cmon), czyli sprawdzał by też czy potrafimy sensownie podzielić nasz kod. Weź pod uwagę, że na przykład ściana kodu przy kilku tysięcy linijkach w sumie traci ten plus "bycia czytelniejszą". Zawsze trzeba zachować zimną krew i nie popadać w skrajności - od tworzenia na każdym kroku mikro klas zawierających jedną - dwie metody, aż po tworzenia jednej klasy z 300 metodami.
@drakon660
@drakon660 2 жыл бұрын
kto nigdy nie popelnil takiego kodu niech pierwszy rzuci kamien
@DevMentorsPL
@DevMentorsPL 2 жыл бұрын
+1
@pawesek9313
@pawesek9313 2 жыл бұрын
Klawiaturę* ;)
@technics6215
@technics6215 Жыл бұрын
Ale sajgon, nie dam rady oglądać całego. Zdarzało mi się iść do pracy w jakiejś firmie, po czym okazywało się, że tak jest napisana większość kodu w firmie i rezygnowałem. Przyjęli Cię do tej firmy? :D
@infloper6681
@infloper6681 2 жыл бұрын
Zrobiłem kiedyś podobną walidację email w podobnym ValueObject w jednym z projektów i zarzucono mi złamanie SRP, informując że za walidację powinien oczywiście odpowiadać inny wyspecjalizowany obiekt. Co o tym sądzisz? Bo przy tak rygorystycznym podejściu, to zwykłe sprawdzenie pustego stringa w konstruktorze może już podchodzić pod złamanie SRP. ;)
@CyberWord
@CyberWord Жыл бұрын
1:05:47 nie powinno być ArgumentNullException
@IT-qc9qj
@IT-qc9qj 6 ай бұрын
Jest gdzieś odcinek o którym wspominasz w 1:12:10 ?
@MinecraftBuufff91
@MinecraftBuufff91 2 жыл бұрын
Dostales te robote?
@InTivi
@InTivi 2 жыл бұрын
Uzywasz jakiegos programu zeby tak plynnie przechodzic miedzy oknami? Np pomiedzy IDE i przegladarka? chodzi mi o moment np 1:23:02
@szynkie6710
@szynkie6710 5 ай бұрын
Nie czaje po co w metodzie printUsers przekazywac funkcje zamiast zwyklego IEnumerable, moze ktos wytłumaczy? Filmik fajny :)
@Mateusz-gq1lc
@Mateusz-gq1lc 2 жыл бұрын
Fakty, czasem trzeba usłyszeć, oczywistą informacje, by nabyć nowa siłę i świeżość dla mózgu
@jezuschrystus4839
@jezuschrystus4839 2 жыл бұрын
Czy nie lepiej użyć fluentValidation niż pisać własne klasy do walidacji danych? już nie mówiąc, że można użyć po prostu atrybutów przy modelu jak to taki prosty przykładzik.
@franekfranek4907
@franekfranek4907 2 жыл бұрын
Mógłbyś napisać co mówisz w 44:16 "to zwraca ..." ?
@schk3
@schk3 2 жыл бұрын
brzmi jak "ajenumerabla na czartach, tu arej " :D
@dariuszb.9778
@dariuszb.9778 2 жыл бұрын
Powtórz to za jakieś 20 lat robiąc review kodu z 2022 roku. "OMG, ależ ja byłem wtedy twóczy i błyskotliwy!" 😀
@adrian_franczak
@adrian_franczak 2 жыл бұрын
Może będzie gdzieś to dalej ale jak się ma VO do validacji filtrem z fluent validation w pipeline Robisz ta sama walidacje 2 razy? Drugie pytanie to jak widzisz takie zadanie na rekrutacji dla Mida/seniora w sensie czy w ogóle ma takie coś sens a jak ma to co trzeba by fo założeń dodać?
@DevMentorsPL
@DevMentorsPL 2 жыл бұрын
proste constrainy na poziomie DTO raczej można ograć jakimś FV albo nawet DataAnnotation (nie mówiąc już o null check, który można obejść nullable reference types), a same reguły biznesowe (które mogą być problematyczne do zwalidowania na warstwie prezentacji) raczej zamykałbym w VO. W tym programie raczej podejście wynikało z unifikacji modelu do poziomu User, stąd nie chciałem, aby to "wyciekało". O zadaniu dla mida/seniora wspominałem na końcu - wydaje się fajne, bo pomimo relatywnie niskiego stopnia skomplikowania może pokazać jak podchodzi się do projektowania takiego rozwiązania. Wiadomo - przykłąd można możliwie komplikować, aby spodziewać się bardziej wysublimowanych podejść czy wzorców.
@adrian_franczak
@adrian_franczak 2 жыл бұрын
@@DevMentorsPL czyli w dwóch miejscach raczej to walidujesz okej świat mi się NIE wywrócił do góry nogami XD
@aries2137
@aries2137 2 жыл бұрын
Ale się ten rynek zmienił przez te parę lat. Potrafię pisać dużo lepszy kod w Javie, a mam problem z wejściem w branżę. xD
@ArekTheBoss
@ArekTheBoss 2 жыл бұрын
1) Wymagania faktycznie skoczyły do góry 2) Pytanie czy to, że jak piszesz "potrafisz pisać dużo lepszy kod" jest faktycznie potwierdzone (np. przez kogoś) czy to bardziej subiektywna ocena i efekt Dunninga Krugera ;)
@aries2137
@aries2137 2 жыл бұрын
@@ArekTheBoss Myślę, że trochę nietrafiony argument z efektem Dunninga-Krugera, bo nigdzie nie napisałem że jestem bezbłędny. 😉 Masa firm na wstępie odrzuca pracownika z powodu braku chociaż rocznego doświadczenia komercyjnego. A doświadczenie komercyjne samo się nie zrobi.
@SLNakaSiLeNT
@SLNakaSiLeNT 2 жыл бұрын
Co to jest za program w którym aktualnie piszesz?
@technics6215
@technics6215 Жыл бұрын
1. Czy ten kod jest na poziomie juniora (w dzisiejszych realiach), czy poniżej? 2. Czy jeżeli nie dam rady tego oglądać to znaczy że jestem mid albo senior?
@Solider
@Solider 2 жыл бұрын
Dostałeś prace po tym kodzie?
@DevMentorsPL
@DevMentorsPL 2 жыл бұрын
tak, co ciekawe rozmowa poszła jeszcze gorzej (sic!) niż sam kod... sporo szcześcia, ale też i zrozumienia w firmie, że po prostu mało jeszcze umiałem. Może zadecydowały "chęci i zapał do pracy", a może dotacja z UE, którą trzeba było przepalić xD
@mihuhih2186
@mihuhih2186 2 жыл бұрын
czy cod review nie powinien być robiony przez osobę, która nie jest autorem kodu?
Rozszerzanie funkcjonalności klienta HTTP
21:34
DevMentors
Рет қаралды 2,4 М.
PULL REQUESTY - A na co to komu?!!
1:08:00
DevMentors
Рет қаралды 2,6 М.
Lamborghini vs Smoke 😱
00:38
Topper Guild
Рет қаралды 66 МЛН
小丑女COCO的审判。#天使 #小丑 #超人不会飞
00:53
超人不会飞
Рет қаралды 10 МЛН
黑天使被操控了#short #angel #clown
00:40
Super Beauty team
Рет қаралды 54 МЛН
tidradio h8 unboxing and review 2024
28:52
Straight Outta Urbex
Рет қаралды 9
Dlaczego nie lubimy DZIEDZICZENIA?
1:40:40
DevMentors
Рет қаралды 6 М.
Rekrutacja w IT - nasze doświadczenia
34:36
DevMentors
Рет қаралды 5 М.
Jak serwować LLM Bielik-11B 🦅 - Tutorial #17
27:45
ML-Workout
Рет қаралды 4,2 М.
async/await, czyli programowanie asynchroniczne w C#
2:28:30
DevMentors
Рет қаралды 13 М.
How principled coders outperform the competition
11:11
Coderized
Рет қаралды 1,8 МЛН
Modularny Monolit teoretycznie
18:05
DevMentors
Рет қаралды 4,4 М.
Git i GitHub w 60 minut
1:20:14
Jak nauczyć się programowania
Рет қаралды 220 М.
Pytania rekrutacyjne JavaScript Developer (Edycja 2022)
1:04:26
Codemask Academy
Рет қаралды 15 М.
Mój problem z Domain-Driven Design...
33:14
DevMentors
Рет қаралды 11 М.
Lamborghini vs Smoke 😱
00:38
Topper Guild
Рет қаралды 66 МЛН