• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Refaktoryzacja kodu - szachy

Object Storage Arubacloud
0 głosów
356 wizyt
pytanie zadane 12 lipca 2020 w JavaScript przez Arcywojak Początkujący (370 p.)

Witam, jakiś czas temu napisałem szachy w javascripcie. Kod, który napisałem jest moim zdaniem bardzo zagmatwany i skomplikowany. Chciałbym ten kod zrefaktoryzować, aby był bardziej czytelny dla innych i bardziej skalowalny. Niestety nie mam pomysłu od czego zacząć. Na razie nie chcę bardziej rozwijać tego projektu, a tylko uporządkować kod.

Link do szachów: https://github.com/Arcywojak/Chess

1 odpowiedź

+1 głos
odpowiedź 12 lipca 2020 przez Tomek Sochacki Ekspert (227,510 p.)
Zanim zaczniesz robić refaktor to pokryj kod testami, to Ci zapewni większe bezpieczenstwo, ja gdy mam zrefaktoryzowac jakis kawalek kodu to zawsze najpierw analizuje pokrycie testami ut, integracyjnymi i e2e aby móc potem faktycznie bezpiecznie robic refaktor. Dodaj testy e2e chociaz na podstawowe happy path i kilka.corner case j wtedy wez.sie za refactor.
1
komentarz 12 lipca 2020 przez Ehlert Ekspert (212,670 p.)
Ja się z tym nie zgadzam. Testy, a szczególnie te wykraczające poza warstwę jednostkową, często przed refactorem są ciężkie do utrzymywania. Mam świadomość że taka praktyka jest stosowana, ale w systemach w których należy zapewnić 100% niezmienności działania przy refactorze.
1
komentarz 12 lipca 2020 przez Tomek Sochacki Ekspert (227,510 p.)
Ale refaktor to właśnie zachowanie niezmiennosci zachowania biznesowego i to warto otestowac aby mieć pewność że nic nie popsules. Refaktor to nie zmiana logikj biznesowej, nie mylmy tych rzeczy. Miałem okazje robic sporo refaktorow czy nawet migracji apek np. Vanillajs do react jak zaczynały się rozrastac i wolę naprawdę poświęcić np. 1-2 dni na analize testow e2e i dodanie ewentualnych testow dla kluczowych procesow biznesowych niz potem co chwile recznie klikac całą apke... serio jestes zwolennikiem manualnego klikania milion razy czegos, co moze zrobić np. Cypress, testcafe itp.? Ja tam raczej wolę automatuzacje :) potem gdy siadasz do apki jaką robił ktoś inny to takie testy tez naprawde potrafia pomoc i czasami wykryc problemy... ale oczywiście dużo zależy od podejscia do pisania apki... ja staram sie patrzeć nie tylko na krotkotrwaly development ale tez na dalsze utrzymanie apki i nowe ficzery... dlatego u mnie w zespole zawsze przy ficzerach wyznaczamy sobie czas na odpowiednie testy reczne i dodanie odpowiednich automatow. To się naprawdę oplaca.
komentarz 12 lipca 2020 przez Arcywojak Początkujący (370 p.)

@Tomek Sochacki, a czy w sytuacji, gdy chciałbym później zmienić strukturę, rozmieszczenie lub kolejność wywołynia poszczególnych funkcji to czy testy wcześniej napisane nie stałyby się bezużyteczne i trzeba by było napisać je od nowa?

komentarz 12 lipca 2020 przez Tomek Sochacki Ekspert (227,510 p.)
Po prostu trzeba bh je odpowiednio zaktualizowac, ale teraz piszesz ze chcesz robić refaktor a nie zmiany beznesowo uxowe.
komentarz 12 lipca 2020 przez Ehlert Ekspert (212,670 p.)

@Tomek Sochacki, taka jest praktyka produkcyjna gdzie trzeba mieć pewność, że system nie zmienia swojego działania. 

Lepszym rozwiązaniem jest refactor poszczególnych elementów, tak aby można było je testować jednostkowo.

komentarz 12 lipca 2020 przez Wiciorny Ekspert (270,230 p.)

@Tomek Sochacki, 0 % pokrycia testami - testujemy za mało  100% pokrycia testami, testujemy za dużo :D jak to mawiaja 

Podobne pytania

0 głosów
3 odpowiedzi 614 wizyt
pytanie zadane 28 września 2017 w JavaScript przez niezalogowany
0 głosów
0 odpowiedzi 449 wizyt
0 głosów
2 odpowiedzi 372 wizyt
pytanie zadane 24 grudnia 2019 w JavaScript przez Paweł Szewczyk Obywatel (1,410 p.)

92,584 zapytań

141,433 odpowiedzi

319,668 komentarzy

61,966 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...