fbpx

Refactoring Majster

Opublikowane przez Jerzy Wickowski w dniu

Refaktoring jest postrzegany i rozumiany różnie. W zależności od doświadczenia, umiejętności czy stanowiska. Od czegoś zupełnie niepotrzebnego, takiej zabawy developerskiej zjadającej czas i pieniądze, aż do fanatyzmu, który prowadzi do chęci otrzymania kodu idealnego. Oczywiście oba podejścia nie są dobre, ponieważ nie należy popadać z patologii w patologię. Z okazji zakończonego już jakiś czas remontu naszła mnie taka refleksja. Posłuchaj.

Jak klient może rozumieć refaktoring?

Czynność ta, która często jest postrzegana jako coś niepotrzebengo, nadmiarowego, zbędnego. Zwłaszcza przez klienta, któremu czasami ciężko wytłumaczyć, co to jest i do czego służy. Bo jak wytłumaczyć, że muismy przeorać bebechy i zajmnie nam to trzy tygodnie, a po wszystkiem aplikacja powinna działać tak jak działała. Przecież to jawna strata czasu i pieniędzy. Czy napewno? To zależy, ale można spróbować użyć przenośni.

Metafora remontowa

Wyobraź sobie, że chcesz wyremontować łazienkę w swoim mieszkaniu, które juz ma swoje lata. Masz w planie położyć nowe płytki oraz zrobić odpływ z pralki, tak aby nie trzeba były wkładać rury odpływowej do wanny, czy sedesu. Robota wydaję się być prosta. Dzwonisz zatem do fachowca. Umawiacie się. On przychodzi, ogląda łazienkę, opowiadasz mu o swoich planach. On z uwagą słucha, chwilę myśli i przewraca do góry nogami wszystkie Twoje plany. Uświadamiając się, że nie będzie tak szybko i tanio jak myślałeś na początku. Dowiadujesz się, że instalacja wodno-kanalizacyjna jest bardzo stara i może pęknąć przy podłączaniu odpływu. Z kolei elektryczna jest aluminiowa z czasów PRL, a ścianę to najlepiej wyburzyć i postawić od nowa, bo jest krzywa i mało stabilna.

Wybór

Poznając fakty, musisz podjąć decyzję, która nie jest łatwa, ale w przybliżeniu może wyglądać tak:

  • Zrobić to dobrze – zapłacić fachowcowi i mieć pewność, że nowa instalacja będzie solidna i szczelna. Nowo postawiona ściana, wraz z płytkami będzie równa, a płytki będą się układać wręcz idealnie. Może być drogo, ale solidnie. Ponad to fachowiec daje gwarancję.
  • Zrobić po taniości – powiedzieć fachowcowi, żeby zrobił szybciej i taniej. Niech zostawi stare rury i kable, a płytki nie muszą być idealnie. W końcu jak instalacja działała to na pewno będzie działać.

Ty jesteś fachowcem

Postaw się teraz z drugiej strony. Co Ci pozostaje, gdy klient zdecydował się na wersję nr. 2? Możesz zakasać rękawy i zbrać sie do roboty z nadzieją, że jednak wszystko będzie dobrze. Jednak to dość ryzykowne podejście. To Ty jesteś specjalistą w jakiejś dziedzinie i Ty znasz się na swojej pracy. Jeżeli jesteś pewien, że to zaraz się rozsypie, to musisz go edukować, bo rola programisty to nie jest tylko klepanie kodu, ale przede wszystkim rozwiązywanie problemów. Jednak jeśli jest uparty i wybiera bramkę numer dwa to Ty możesz nie być wstanie dać jakielkolwiek gwarancji na nowy twór.

Na koniec

Wiem, że to jest przejaskrawiony przypadek. Jednak czasem spojrzenie z innej, czasem groteskowej perspektywy, pozwala na świeże spojrzenie na temat. Bardzo często w świecie oprogramowania można wybrać inna ścieżkę, aby połączyć opcję A i B. Pozdrawiam serdecznie.



Czy to był wartościowy artykuł? Bądź na bierząco. Zapisz się, a poinformuję Cię o nowych postach

Dodaj komentarz

Twój adres email nie zostanie opublikowany.

This site uses Akismet to reduce spam. Learn how your comment data is processed.


Zapisz się

Wyślę Ci dwa dokumenty mówiące o jakości kodu. Dodatkowo będę Cię informował o nowych postach i nowościach.