Тёмный

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

DevMentors
Подписаться 7 тыс.
Просмотров 19 тыс.
50% 1

W dzisiejszym odcinku czytam swój kod z 2014 roku... Kod, który pod wieloma względami jest jednym z najważniejszych w mojej "karierze". Dlaczego? Ponieważ pozwolił mi on pośrednio dostać swoją pierwszą pracę jako programista .NET! ALE ALE... nie oznacza to, że jego jakoś jest tak dobra jak może się to wydawać, będzie ciekawie ;)
Zanim jednak ruszymy do kodu, porozmawiamy sobie o... PROGRESIE, szczególnie w odniesieniu do osób początkujących.
Miłego oglądania!
Timecodes:
00:00:00 - Intro
00:00:50 - Kilka słów o progresie...
00:11:30 - Dlaczego robienie review własnego kodu ma sens?
00:17:05 - Mój kod z 2014 roku
00:56:30 - Poprawiam ulepa XD
01:58:28 - Outro

Опубликовано:

 

1 авг 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 57   
@brtk7
@brtk7 Год назад
Szacun za poruszenie tego tematu. Od razu człowiek czuje się lepiej ;)
@MikkalYT
@MikkalYT Год назад
Ciekawy odcinek jak zawsze łapeczka leci :) PS: Naming metody do wybrania najdłuższego nazwiska odrazu przykuł moją uwagę 🤭
@mjunior771
@mjunior771 Год назад
Dzięki za poświęcony czas - świetna robota - sam zrobie sobie to zadania :) P.S. Fajny kanał
@zxcvmati1
@zxcvmati1 Год назад
Super materiał :)! Więcej tego typu materiału :)
@muczos
@muczos Год назад
Mega tresc. Ogladalem na kilka razy, ale warto. Fajnie, ze wszystko dopowiedziane. Nie skracane. Duzo wiedzy nabytej
@DevMentorsPL
@DevMentorsPL Год назад
Dziękuję! Bardzo mi miło :)
@MrFrixo7
@MrFrixo7 Год назад
Chapeau bas, genialny materiał, można wyciągnąć dużo wniosków i przemyśleń!
@ILogger
@ILogger Год назад
Fajny content, przyjemnie się słucha - szczególnie w drodze na daily :D
@DevMentorsPL
@DevMentorsPL Год назад
Dzięki :D
@Bob_Vance
@Bob_Vance Год назад
CountRaws :D Swietne, robcie to dalej bo fajnie sie was oglada/slucha.
@DevMentorsPL
@DevMentorsPL Год назад
Dziękujemy ;)
@CoderCoder1337
@CoderCoder1337 Год назад
Fajny materiał, zmotywował mnie do trzymania większego porządku w kodzie ;)
@DevMentorsPL
@DevMentorsPL Год назад
Super 💪
@danielkotecki7275
@danielkotecki7275 Год назад
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 Год назад
Dzięki i przyłączamy się do życzeń :D
@123tymek
@123tymek 6 месяцев назад
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.
@2002misko
@2002misko Год назад
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ł :)
@unimaru3765
@unimaru3765 Год назад
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 :).
@MrBlue-ev8ow
@MrBlue-ev8ow Год назад
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 Год назад
Konkretnie! Czytanie swojego starego kodu dobrym lekarstwem na syndrom oszusta.
@mcshdf
@mcshdf Год назад
tak jak nienawidze c#, przyjemnie sie to oglada
@xMsDanielx
@xMsDanielx Год назад
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 Год назад
A to już temat na inny odcinek😀
@real_belmondziak
@real_belmondziak Год назад
Patrzę na ten kod - jakbym widział swój ;)))
@core1983dev
@core1983dev Год назад
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 ;-)
@drakon660
@drakon660 Год назад
kto nigdy nie popelnil takiego kodu niech pierwszy rzuci kamien
@DevMentorsPL
@DevMentorsPL Год назад
+1
@pawesek9313
@pawesek9313 Год назад
Klawiaturę* ;)
@milosz-kc4hh
@milosz-kc4hh Год назад
31:47 pewnie używałeś String z dużej bo w Javie się tak robi
@szynkie6710
@szynkie6710 Месяц назад
Nie czaje po co w metodzie printUsers przekazywac funkcje zamiast zwyklego IEnumerable, moze ktos wytłumaczy? Filmik fajny :)
@InTivi
@InTivi Год назад
Uzywasz jakiegos programu zeby tak plynnie przechodzic miedzy oknami? Np pomiedzy IDE i przegladarka? chodzi mi o moment np 1:23:02
@infloper6681
@infloper6681 Год назад
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. ;)
@IT-qc9qj
@IT-qc9qj 2 месяца назад
Jest gdzieś odcinek o którym wspominasz w 1:12:10 ?
@SLNakaSiLeNT
@SLNakaSiLeNT Год назад
Co to jest za program w którym aktualnie piszesz?
@tomlyn1124
@tomlyn1124 Год назад
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 Год назад
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.
@Mateusz-gq1lc
@Mateusz-gq1lc Год назад
Fakty, czasem trzeba usłyszeć, oczywistą informacje, by nabyć nowa siłę i świeżość dla mózgu
@czerdos1995
@czerdos1995 Год назад
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 Год назад
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 Год назад
@@czerdos1995 to potencjalnie mogło by mieć sens gdybyś zastosował podejście CQS.
@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
@jezuschrystus4839
@jezuschrystus4839 Год назад
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.
@adrian_franczak
@adrian_franczak Год назад
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 Год назад
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 Год назад
@@DevMentorsPL czyli w dwóch miejscach raczej to walidujesz okej świat mi się NIE wywrócił do góry nogami XD
@CyberWord
@CyberWord Год назад
1:05:47 nie powinno być ArgumentNullException
@MinecraftBuufff91
@MinecraftBuufff91 Год назад
Dostales te robote?
@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?
@franekfranek4907
@franekfranek4907 Год назад
Mógłbyś napisać co mówisz w 44:16 "to zwraca ..." ?
@schk3
@schk3 Год назад
brzmi jak "ajenumerabla na czartach, tu arej " :D
@dariuszb.9778
@dariuszb.9778 Год назад
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!" 😀
@aries2137
@aries2137 Год назад
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 Год назад
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 Год назад
@@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.
@mihuhih2186
@mihuhih2186 Год назад
czy cod review nie powinien być robiony przez osobę, która nie jest autorem kodu?
@Solider
@Solider Год назад
Dostałeś prace po tym kodzie?
@DevMentorsPL
@DevMentorsPL Год назад
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
Далее
Rozszerzanie funkcjonalności klienta HTTP
21:34
Просмотров 2,4 тыс.
Dlaczego nie lubimy DZIEDZICZENIA?
1:40:40
Просмотров 6 тыс.
Вопрос Ребром - Субо
49:41
Просмотров 1,6 млн
🛑 до конца!
00:12
Просмотров 86 тыс.
async/await, czyli programowanie asynchroniczne w C#
2:28:30
Mój problem z Domain-Driven Design...
33:14
Просмотров 10 тыс.
Rekrutacja w IT - nasze doświadczenia
34:36
Просмотров 4,8 тыс.
Typescript: Czym jest satisfies operator?
7:11
Modularny Monolit teoretycznie
18:05
Просмотров 4,1 тыс.
How principled coders outperform the competition
11:11
Вопрос Ребром - Субо
49:41
Просмотров 1,6 млн