Programowanie z TDD produkuję zupełnie inny jakościowo kod. Tak jak wspominałeś - programista przed samą implementacją sporo myśli nad rozwiązaniem, zanim je zrobi. To bardzo często skutkuje w dużo bardziej granularnym, prostym i fajnym architektonicznie rozwiązaniem. Osobiście nie wyobrażam sobie dziś pracy nad poważniejszym projektem bez TDD. A ogólnie z TDD i testami miałem skomplikowaną relację :D Możnaby to podzielić na kilka etapów: 1. poznałem TDD, popraktykowałem i miałem wrażenie, że mi to bardziej przeszkadza, niż pomaga, więc porzuciłem 2. wróciłem do TDD po zaczerpnięciu wiedzy od bardziej doświadczonych i tym razem polubiłem dużo bardziej... ale aż za bardzo, bo za wszelką cenę cisnąłem by mieć 100% code coverage w samych unit testach co miało drastyczne skutki w produktywności 3. zacząłem korzystać z głową zarówno z jednostkowych jak i integracyjnych testów, nie skupiając się tak bardzo na 100% code coverage (bo nie jest to w wielu przypadkach jakkolwiek użyteczne) 4. jestem szczęśliwym developerem :D Super odcinek jak zawsze, pozdrówki!
@poftorek5216 жыл бұрын
To czekamy na odcinek jak pisać testy 🤗
@Bajdster3 жыл бұрын
Czy TDD ma cokolwiek wspólnego z testerami manualnymi/automatyzującymi?
@fredpies6 жыл бұрын
tak trzymaj roman... dobre wrzuty na yt
@basiorbb36 жыл бұрын
Adam... 11 tys subów! Gratulacje 🎉 super odcinek 🔥
@michakrecisz51006 жыл бұрын
full tdd jest lekko utopijny. pewnie w software house'ach, dobrze zeskalowanych firmach jest do zrobienia. U mnie w robocie niestety nie realny do wprowadzenia, gdzie wszystko jest content/design driven development + startupa "atmosfera".
@adrianosky2825 жыл бұрын
Zrobisz jakiś odcinek praktyczny jak wykorzystać właśnie TDD np w React?
@helloroman5 жыл бұрын
Mowie o tym w kursie o zaawansowanym react ;) polecando
@adrianosky2825 жыл бұрын
@@helloroman To se zakupie na dniach chyba że w internetach bedzie za free też coś wartościowego.
@patryk20396 жыл бұрын
Niedługo to bedzie 2pi haha Ale o takich rzeczach fajnie dłużej posłuchać
@tomekradomski84916 жыл бұрын
Witam. 😄 Czy mógłbyś wypowiedzieć się na temat freelancerki i normalnej pracy na etacie? Nie znalazlem odpowiedzi w Twoich filmach chyba, ze cos mi umknęło. 😄
@LOLdjrabaanLOL6 жыл бұрын
Witaj. Od dluzszego czasu nurtuja mnie pewne pytania zwiazanie z IT, a nie mialem nawet mozliwosci nikogo spytac. Teraz gdy znalazlem twoj kanal, wreszcie mam nadzieje ze ty lub jakis ogladajacy odpowie mi na nie, a mam taka nadzjeje poniewaz te pytania prawdopodobnie zawaza na mojej przyszlosci a jezeli nie, to na pewno pomoga mi dokonac wyboru. Otoz Jestem uczniem klasy 3 gimnazjum, juz od dluzszego czasu bylem pewny ze do szkoly sredniej pojde na technika informatyka, poniewaz kocham komputery. Lubie grac, dowiadywac sie jak zbudowane sa programy, a nawet juz w tym wieku wiem z czego zlozony jest komputer i potrafie go samodzielnie zlozyc. Uwielbiam agielski, matematyka jest dla mnie obojetna (wyciagam 3,4 lecz nie moge powiedziec ze uczenie sie jej sprawia mi przyjemnosc), a fizyki nie lubie. Stad moje pierwsze pytanie: Odkad wbilem na strone informatycznej olimpiady gimnazjalistow oig.edu.pl/2015/12/31/omowienia-zadan-vii-oig-zawody-indywidualne-etap-i/ i ogladnalem film dwuwymiarowy nim potwierdzily sie moje obawy - myslenie nad tym zadaniem nie sprawialo mi zadnej przyjemnosci, just, takie zadania sa na moim etapie nauki przeze mnie znienawidzone. Dlatego prosze, odtworz sobie chwile tego zadania i powiedz mi, czy taki typ myslenia jaki trzeba wykorzystac robiac to zadanie to codziennosc w pracy programisty? I czy ty z cala swoja wiedza bylbys w stanie zrobic to zadanie w kilka chwil? Jest to dla mnie wazne, bo pokaze mi czy w tej pracy bede sie jednak meczyl czy jednak czerpal z niej radosc. Pytanie drugie: Odkad zobaczylem to zadanie zaczalem zastanawiac sie nad inna droga zycia, myslalem nad liceum, i innymi, ale kiedy wrocilem myslami do tech-inf znow dostalem pewnych watpliwosci. Po pierwsze - co sadzisz o techniku informatyku? Myslisz ze wato tracic rok w porownaniu z liceum zeby miec ten zawod? Zalozmy ze za te 4 lata bede mial ukonczone technikum informatyczne. Chcialbym wyjechac na studia zaoczne do krakowa i w miedzyczasie pracowac. Jak myslisz, czy jest mozliwosc dostania w miare dobrze platnej pracy ktora pozowli mi zyc w stolicy smogu jedynie po techniku informatyku? I na jakie na dzien dzisiejszy moglbym wedlug ciebie zarobki liczyc? To jest chyba najwazniejsza kwestja z tego calego mojego wywodu, poniewaz bardzo mnie ciekawi i nigdzie o tym nie moglem znalezc informacji. Dzieki za poswiecony czas na przeczytanie, licze na odpowiedz, nawet najmniejsza bo i tak pomoze znacznie. :)
@b3ncr0w6 жыл бұрын
Aktualnie kończę polibudę na informatyce i jestem po technikum teleinformatycznym. Czy technikum dużo daje? Nie. Choć zdaje mi się, że będąc w technikum, o ile ogarniasz przedmioty zawodowe (jeśli się tym interesujesz, to niewiele trzeba) masz więcej czasu wolnego, który możesz spożytkować na naukę we własnym zakresie. W liceum stracisz więcej czasu na rzeczy, które nikoniecznie Cię zainteresują i będą Ci potrzebne. Technikum informatyczne, to niezły początek w ogóle. Wstępnie zapoznają Cię z technicznymi aspektami, dowiadujesz się jak to wszystko działa od środka i dla czego działa. Wychodzisz z podstawami i jako takim pojęciem czym są i jak działają komponenty komputera, sieci, czy software. Jest to wiedza podstawowa, którą ogarnąłbyś przy dobrych chęciach i determinacji sam w kilka tygodni. Czy warto? Według mnie tak, mając podstawy z technikum łatwiej się w tym później rozwijać, choć nie liczyłbym że system Cię czegoś tam nauczy. Nauczysz się pisać kod tylko, jeśli będziesz to robił we własnym zakresie. Mi osobiście technikum dało fajne pole do rozwoju, ale nie dało pracy, więc poszedłem na studia. Teraz, czy studia są potrzebne? Nie. I tak. Zależy czego oczekujesz. Jeśli chcesz rozeznać się w branży i jako tako techologiach, to polecam. "Informatyk" to nie zawód, to cała dziedzina zawodów. Możesz zajmować się mapami cyfrowymi, grafiką, przetwarzaniem obrazu, sztuczną inteligencją, aplikacjami webowymi, symulacjami, programowaniem niskopoziomowym... można wymieniać w nieskończoność. Ogarniesz podstawy i pojawia się pytanie - co ja właściwie chcę robić? Studia dają chwilę na zastanowienie i pokazują podstawy wielu dziedzin informatyki. Jeśli już wybrałeś co chcesz robić, studia mogą być stratą czasu, jeśli nie, to polecam. Zadania, które podesłałeś są jakieś takie "mdłe" xD Na pewno spotkasz się z czymś podobnym, ale do tego czasu zmieni Ci się myślenie, wzrosną umiejętności i pojawi się większa łatwość w myśleniu w ten sposób. W każdym razie takie zadania nie będą całym Twoim życiem. Gdy zaczniesz już myśleć jak programista, algorytmy rozwiązywania problemów będą układać się same w Twojej głowie, a ty będziesz mógł skupić się na bardziej satysfakcjonujących aspektach kodowania ;)
@LOLdjrabaanLOL6 жыл бұрын
@@b3ncr0w dzieki za pomoc ogolnie, lecz mam jeszcze jedno pytanie. Zdaje sobie sprawe ze technikum nie nauczy mnie prawie nic, praktycznie chodzi mi tylko o zawod i papierek, bo wiem ze reszty bede musial nauczyc sie sam, i tu sie pojawia pytanie. Czy np po liceum mat-ang-inf bede mial jakas szanse znalezc prace w jakims korpo jesli sam naucze sie wiekszosci rzeczy? I czy papierek technika informatyka zmieni duzo jezeli szukalbym pracy? W pewnym sensie czuje, ze liceum byloby lepszym wyborem, poniewa, nawet jak mi nie wyjdzie z infa bede mial wieksze pole do popisu, dlatego ku niemu sie sklaniam, ale wiedza czy moge liczyc na jakas prace w informatyce po liceum bedzie mi przydatna.
@b3ncr0w6 жыл бұрын
@@LOLdjrabaanLOL To, czy będziesz miał szanse zależy tylko od Ciebie. Nikt nie zagwarantuje Ci, że po jakiejkolwiek szkole, czy kursie dostaniesz pracę. Papierek w branży IT daje niewiele, podstawa to umiejętności, ale tu musisz też zdecydować, czy jesteś w stanie sam się wszystkiego nauczyć. Mimo wszystko w technikum otaczać będą Cię ludzie o podobnych zainteresowaniach, co zdecydowanie ułatwia. Możesz już teraz rozejrzeć się za ofertami pracy i sprawdzić czego pracodawca by od Ciebie wymagał. Program w technikum też nie różni się tak bardzo od tego z liceum i nie sądzę żeby to zamykało Ci drogę na inne studia. Sam miałem kolegów informatyków piszących na maturze rozszerzoną historię ;D da się.
@Shaqal76 жыл бұрын
Extreme programming = XP Drogi Romanie :) Co do TDD szczerze polecam, sam praktykuję i nie wyobrażam sobie pracy w takim trybie. Milion razy uratował mi tyłek gdy zmieniałem jakąś funkcjonalność i gdyby nie testy mógłbym zapomnieć o kluczowych miejscach w którym kod powinien się zachowywać tak a nie inaczej.
@helloroman6 жыл бұрын
MrCool2Nigga hahaha xD wiedzialem że cos popieprze z tym skrotem
@Marcin-wx5mf6 жыл бұрын
W pracy korzystasz z Mac OS czy Windowsa?
@helloroman6 жыл бұрын
Od jedenastu lat nieprzerwanie macOS wszędzie. Ale w styczniu to się zmieni bo kupuję peceta do montowania filmów :) Do pracy jako dev jednak zawsze wybiorę macOS bo jest po prostu lepszym systemem.
@Marcin-wx5mf6 жыл бұрын
@@helloroman zawsze mozna postawic hackintosha ;D Ja od niedawna korzystam z maca do programowania i Xcode to najlepsze co moglo powstac razem ze swiftem :) Do tego poki co nie mam wiekszych problemow ktore zdarzaly sie na windowsie, nawet automatycznie dodawana biblioteka mogla sie zjebac
@helloroman6 жыл бұрын
Marcin951 z tymi hackintoshami to często jakieś jaja są. Już wole chyba windows. Zwlaszcza ze programowac na tym nie bede
@Marcin-wx5mf6 жыл бұрын
hello roman zależy jak masz tydzień na konfiguracje to będzie wszystko śmigać a jak nie to klawiatura będzie dublować randomowo znaki monitory mogą nie działać dźwięk będzie słaby o ile będzie, raz na jakiś czas wywali system, może czasem lepiej zostać przy windowsie :d
@rafaklimek65276 жыл бұрын
Dobry temat, ogólnie TDD ułatwia znacznie pracę nad kodem, no chyba, że eksperymentujemy i sami nie wiemy co z tego wyjdzie. A jako rozszerzenie do tego odcinka polecam Unit testing in Javascript od Funfunfunction.
@lukq906 жыл бұрын
Zna ktoś jakąś wtyczkę do vsc, która będzie podpowiadała nazwy klas, id, zmienne z scss itd.? Bo mam spoory problem z tym, że zrobię gdzieś literówkę a potem jej szukam 15min.
@grzegorzt6 жыл бұрын
Zerknij na ten plugin "IntelliSense for CSS class names in HTML" w html jak i js ładnie podpowiada składnię z scss
@lukq906 жыл бұрын
@@grzegorzt Mam już go :) tylko on działa w jedną stronę. Trochę ciężko jest najpierw pisać css a potem html
@grzegorzt6 жыл бұрын
"... która będzie podpowiadała nazwy klas, id, zmienne z scss itd.?" przecież plugin to właśnie robi podpowiada id, klasy z już istniejącego kodu scss. Tutaj chyba jest jakaś sprzeczność w Twoich komentarzach, drugi komentarz wyklucza pierwszy. W dodatku css powinno się pisać równocześnie z pisaniem html no chyba że używamy czegoś takiego jak bootstrap to ten plugin działa tak jak chcesz w pierwszym komentarzu.
@lukq906 жыл бұрын
@@grzegorzt no podpowiada ale tylko w jedną stronę z css -> html na odwrót już nie. W sensie najpierw musze napisac klasę w css a potem html, żeby mieć podpowiedź
@grzegorzt6 жыл бұрын
Chodzi Ci o to że w html wpiszesz sobie wymyśloną klasę i tą klasę w css ma niby podpowiedzieć ide? Nigdy się nie spotkałem z takim podejście a zapewniam Cię 18lat pracuję w frontendzie. Tak jak wspomniałem piszę css wraz z html. Buduję strukturę html, np. head to tego dodaję css itd. Nie wyobrażam sobie czegoś takiego że w html dodam wszystkie klasy a później na ich podstawie tworzę css. Dla mnie takie podejście jest nieproduktywne i niepoprawne. Do tego używam pluginu "stylelint" który sprawdza poprawność css bo niestety ale często ide jest za wolne w podpowiedziach więc dużo kodu piszę z "palca" i czasami wkradają się literówki a ten plugin wyłapuje moje błędy.
@szymonbrud40136 жыл бұрын
Gdzie nauczyć się profesjonalnego programowania jak chodzi o font-end?
@igorzebrowski34706 жыл бұрын
Uczę się programować od kilku miesięcy na specjalnym BARDZO wymagającym kursie. Jakieś trochę ponad miesiąc temu wprowadzono nam TDD. Upierdliwe niesamowicie, bo do tej pory pisaliśmy kod, odpalaliśmy program i sprawdzaliśmy czy działa - wiadomo by się uczyć programować i myśleć w odpowiedni sposób, a nie zrazić się na początku. TDD było dla nas czymś zupełnie nowym i na pierwszych zajęciach z tym podejściem zamiast 3 zadań (na 7 godzin zegarowych) przerobiliśmy tylko jedno. Ale teraz większość z nas nie widzi już innej możliwości pisania kodu bez testów ponieważ: A) są przez wszystkich wymagane. B) Ułatwia to pisanie kodu jak już wiemy co dany fragment kodu ma nam wypluwać. Na przykład wcześniej jak uczyłem się sam to napisanie programiku który by policzył liczby ciągu Fibonacciego zajęło mi sporo czasu a i tak koniec końców nie napisałem go poprawnie i 20 razy go poprawiałem by w ogóle działał. Przy podejściu TDD, jak już napisałem testy wiedziałem co chcę uzyskać więc łącznie ze wszystkim zajęło mi to 3 godziny. Jestem początkujący, uczę się, nie mam superkomputera zamiast mózgu ale chyba nie najgorzej mi to idzie. A tu link do gita by się pochwalić :) : github.com/IngvarWariorOfGodYngvi/Fibonacci
@raulinaryba6 жыл бұрын
eXtreme Programming w skrócie to XP . pozdro Roman PS. uwielbiam Twoje filmiki
@helloroman6 жыл бұрын
Ryba noooo xD pojebalem. Za dużo tych skrótów!
@paproch18486 жыл бұрын
TDD to wynalazek szatana :-) Robię to samo dwa razy. Trzeba wymyślać mocki, stuby itp. A jak wykorzystujemy zewnętrzne paczki to już wogóle tragedia - bo najpierw i tak ją trzeba wstępnie zaimplementować, żeby zobaczyć jak działa. Czekam aż ktoś się zorientuje że to chwilowa moda, żeby pomysłodawcy mogli zgarniać kasę jeżdżąc z prelekcjami po różnych konferencjach.
@CharlesRay876 жыл бұрын
Dobry troll 👍
@Igor-qd2cl6 жыл бұрын
Wydaje mi sie, że stwierdzenie, że nie będzie żadnych luk i dziur jest przesadzone. Test potrafi zweryfikować tylko to co przewidzi programista nic poza tym.
@helloroman6 жыл бұрын
Igor masz rację, poniosła mnie fantazja. Ale fakt że im więcej piszesz testów tym lepiej będziesz myśleć z czasem, bardziej krytycznie etc.
@voytechj6 жыл бұрын
dokładnie, tu się witają podstawowe 7 reguł testowania "Seven Principles of Software Testing". Np. "Testing shows the presence of bugs" mówi o tym, że testy mogą stwierdzić, że dany błąd występuje, ale nie o tym że aplikacja jest bez jakichkolwiek innych błędów. Poza tym trzeba dodać, że testy pisane do własnego kodu przez developera to najniższy poziom w jakości testów. Lepszym byłyby kolega w drużynie, potem oddzielna grupa testująca w firmie, i na końcu zewnętrzna firma, która zajmuje się testowaniem (jednak lepszy najniższy poziom niż żaden). No i zmiana sposobu myślenia z testera na developera i odwrotnie jest trudna. Efektywność takich testów będzie mniejsza, wystąpi konflikt interesów: developer chce udowodnić że kod działa, a tester odwrotnie, i jak jest to jedna i ta sama osoba w firmie to mogą być z tego problemy.