Pewnie masz na swoim koncie pracę z cudzym kodem. Rzadko zdarza się pracować wyłącznie w projektach Greenfield, gdzie można napisać wszystko po swojemu…

Praca z cudzym kodem jest trudna. Nawet jeśli nie jest to kod legacy. Nawet jeśli jest nieźle napisany, ma testy, a jego twórcy pracują ciągle w tym projekcie. Zderzenie się z cudzymi pomysłami może być wyzwaniem. Są też czterej wrogowie efektywnej pracy z takim kodem. Czterej jeźdźcy apokalipsy. Jeśli wysadzisz ich z siodła, Twoja praca będzie dużo bardziej przyjemna.

1. Pośpiech

Wykrywacie błąd. Trzeba to szybko naprawić. Szybko. Starasz się więc ogarnąć kod po łebkach i dostarczyć poprawkę. Nie przygotowujesz należycie środowiska, bo nie ma na to czasu. Jeśli coś nie wychodzi, masz żal do siebie, że nie umiesz tego ogarnąć. Stres sprawia, że myśli wolniej i błędne koło się zamyka.

2. Zarozumiałość

Masz już kilka lat doświadczenia, więc ogarnięcie tego kodu to pestka. Ty nie dasz rady? Zdarzyło Ci się pracować z setkami takich modułów, więc na pewnozrozumiesz wszystko w mig. Nie ważne, że ten moduł ma akurat masę zakamarków. Po co masz kogokolwiek prosić o pomoc? Jeśli coś nie działa, szukasz rozwiązań na StackOverflow i wklejasz kolejne kawałki kodu, z których żaden nie działa. Rośnie w Tobie wściekłość. Co za kretyn pisał ten kod?

3. Zachłanność

Masz wprowadzić nową funkcjonalność. Zaczynasz pisać, ale w kodzie jest mały zamęt. Zaczynasz refaktoryzować, równocześnie dodając nowy kod. Oczywiście nad wszystkim pracujesz lokalnie. Twój commit rośnie, coraz więcej się w nim dzieje. Przerzucasz klasy między pakietami i dopisujesz kod. Duuużo kodu. Czujesz się jak młody bóg. Jesteś wirtuozem klawiatury i popijasz kolejny łyk kawy. Cieszysz się z efektu i chcesz wejść z tym do repozytorium. Aż tu nagle konflikt. Musisz zrobić merge nieskończonej ilości klas.

4. Strach

Działa – nie ruszaj. Nie ma testów – nie ruszaj. O ile ma to sens w czeluściach projektu, gdzie nikt nie zagląda, o tyle może być tragiczne, kiedy każdy boi się dotykać kluczowej logiki biznesowej. Ta logika obrasta w kolejne if’y i nawet najstarsi górale nie wiedzą, co ten kod tak naprawdę robi…

Znasz to? Niech pierwszy rzuci kamieniem ten, kto nigdy nie dał się porwać jednemu z tych jeźdźców! 😉 

 

Categories: Wyzwania