Wpis z mikrobloga

Takie podejście jest stosowane na co dzień w firmach tworzących oprogramowanie, czy zależy?


@KevinMalone: w tych lepszych firmach tak, ale to też nie zawsze. W przeciętnej firmie z polskim kapitałem masz szczęście jeżeli w ogóle są jakieś testy. ¯\_(ツ)_/¯
  • Odpowiedz
@KevinMalone: zależy , to jest idealne wyjaśnienie zasadności TDD. Generalnie hype na konieczne wymuszanie TDD minął jakiś czas temu i teraz robi się to zdecydowanie mądrzej.
  • Odpowiedz
@KevinMalone: tylko jest wazna sprawa ;) tu niekoniecznie chodzi o to, zeby napisac tresc testu. mozesz napisac same sygnatury jakie przypadki nalezy przetestowac (zmusza cie do to pomyslenia nad nimi) i na poczatku dla kazdego po prostu zrzucac NotImplementedError. jak juz zaimplementujesz swoja funkcje, wtedy dopisujesz tresc. nie musisz koniecznie napisac na poczatku wszystkich testow bo jeszcze wtedy mozesz nie wiedziec jak dokladnie wyglada funkcja.
  • Odpowiedz
troche przesadzasz XD


@Vickers213: trochę może i tak, ale ostatnio zacząłem się rozglądać za nową pracą i pogadałem ze znajomymi z różnych firm jak to tam u nich wszystko wygląda.

Jeżeli już na początku kariery trafiłeś do dobrej firmy to możesz nie zdawać sobie sprawy z tego jak słabo się prezentują te gorsze. A jest ich jednak zdecydowanie więcej niż dobrych.
  • Odpowiedz
@Kaczus2B: Czyli ważne żeby po prostu pisać testy, a potem dostosować się do podejścia jakie stosuje firma, tak?

Pytam, bo niedługo będę szukał pracy, a unittesty patrząc po ogłoszeniach juniorskich są co najmniej nice-to-have ( ͡° ʖ̯ ͡°)
  • Odpowiedz
@KevinMalone: Osobiście prawdziwe TDD stosuję dość rzadko. Głównie przy testowaniu pojedynczych funkcji robiących coś bardziej skomplikowanego, gdzie wiem jakiego wyniku oczekuję, ale nie jestem jeszcze pewny implementacji.

W większości pozostałych przypadków kolejność pisania kodu vs testu nie ma aż takiego znaczenia. Dużym plusem pisania testów przed kodem jest to, że dostajesz łatwo testowalny kod (jakby z definicji) bez certolenia się z milionem mocków i test casów. Ale jak masz już jakieś
  • Odpowiedz
via Wykop Mobilny (Android)
  • 1
@KevinMalone: problemy jakie wprowadza TDD to dużo testów, które trzeba utrzymywać i refaktorować oraz programiści w TDD często testują wszystko na poziomie pojedynczych metod i klas mockując wszystko. Takie podejście cementuje kod przed zmianami, marnuje czas na pisanie mocków i tak w zasadzie nic nie testuje, bo pojedyncze klasy mogą działać, a połączenia między nimi nie; przez to mamy niedziałający produkt z pokryciem 99%
  • Odpowiedz
@KevinMalone: Dobrze jest wiedzieć co to, dostrzegać zalety i wady tego podejścia. Na co dzień wystarczy sam fakt znajomości piramidy testowania i umiejętność pisania testów jednostkowych.

@Saly: dlatego jest wiele zasad programowania, dzięki którym nie mamy cementu. We wszystkim najważniejszy jest zdrowy kompromis i odpowiednia kompozycja :)
  • Odpowiedz
@KevinMalone: Ogolnie metode dobrze znac. W niektorych miejscach jest spoko, ale moim zdaniem dobre testy jednak napisze predzej ktos z wiekszym doswiadczeniem niz mniejszym. Sama metoda warta poznania i w niektorych przypadkach sie sprawdza, ale sami propagatorzy zastrzegaja, ze nie wszedzie. Poznanie i przecwiczenie moze nauczyc tez troche dobrych wzorow, wiec jak masz troche czasu, to warto sie przyjrzec i potestowac.
  • Odpowiedz