Dług technologiczny

refaktoryzacja to proces ciągły

Sprzątaj swój kodzik nieustannie czyli o ciągłej refaktoryzacji.

Siadam do kodu i piszę… i piszę… i piszę… a potem save, commit, push. Done? No, nie bardzo. Jeśli pracujesz w TDD, to dobrze wiesz co to jest: red, green, refactor. REFACTOR!, REFAKTORYZACJA! Czyli moment kiedy po prawie skończonej pracy porządkujemy kod. To  sprowadza się do posprzątania śmieci, usunięcia zbędnych zmiennych, metod i klas oraz wprowadzenia abstrakcji tam …

Sprzątaj swój kodzik nieustannie czyli o ciągłej refaktoryzacji. Read More »

Z długiem czy bez długu

Z tematu dług technologiczny zrobił się całkiem spory cykl. Mimo, że nie wszystkie aspekty zostały poruszone, to myślę, że poruszone zostały wszystkie najważniejsze jego aspekty zatem nadszedł czas na odpowiedzenie sobie czy da się realizować projekty bez długu. Odpowiedź krótka brzmi NIE. Jeśli w każdym aspekcie będziemy korzystali z wszystkiego NAJ to przy dzisiejszym tempie …

Z długiem czy bez długu Read More »

Brak testów to brak pewności

Jednym z ostatnich rodzajów długów jakie chcę poruszyć to testy. Testy we wszelakiej postaci, od jednostkowych, przez integracyjne, specyfikacji, smoke, white i black box do obrzydliwych ręcznych. Brak testów to najgorsza rzecz jaką możemy zrobić. W każdej normalnej branży (a nie takiej, gdzie większość to pryszczaci kolesie z problemami interpersonalnymi ) czyli takiej o solidnych podstawach …

Brak testów to brak pewności Read More »

Monolity to też dług technologiczny

Monolity – wielkie projekty składające się z setek klas ściśle powiązanych ze sobą. Czasem to nawet nie muszą być przesadnie wielkie te projekty jednak wystarczy, że klasy są ściśle powiązane ze sobą. Co to znaczy ściśle powiązane ze sobą? Jeśli w jednej klasie użyjemy słowa new, żeby stworzyć obiekt innej klasy to właśnie ściśle powiązaliśmy …

Monolity to też dług technologiczny Read More »

Nie będziesz refaktoryzował – będziesz miał dług

Refaktoryzacja – ot kolejne popularne słowo…. nie zupełnie. Pisząc software nie zawsze dokładnie wiemy jak on będzie wyglądał i co finalnie będzie robił – tzn. w danej chwili (zdefiniowanym kwancie czasu, żeby brzmieć mądrzej) zawsze wiemy co będzie robił, tylko z dalszej perspektywy mentalnej – tj. po dłuższym okresie może się okazać, że robi coś …

Nie będziesz refaktoryzował – będziesz miał dług Read More »

Jak programiści zaciągają dług technologiczny

W ostatnim poście marudziłem na management. Zwalanie na management ma tą zaletę, że zwalnia nas programistów z odpowiedzialności. To jest ICH wina, to ONI doprowadzili do takiego a nie innego stanu i tak dalej i tak dalej. Pułapką takiego zachowania jest “wymówka”. Wymówka przenosi naszą odpowiedzialność na kogoś lub coś innego. Wymówka jest świetna bo …

Jak programiści zaciągają dług technologiczny Read More »

Jak management zaciąga dług technologiczny

O długu technologicznym ciąg dalszy. Tym razem będzie o managemencie czyli o wszelkich kierownikach, dyrektorach, leadach, dev leadach, pm-ach, project i product managerach i wszystkich innych, którzy mają pozycję decyzyjną. Przez to rozumiem wszystkie te osoby, które, między innymi, powinny wiedzieć, kiedy będzie nowa wersja i co w jej zakres wchodzi. Wydawało Ci się, że …

Jak management zaciąga dług technologiczny Read More »

Odziedzicz a będziesz mój

Producenci kontrolek lubią kiedy kupujemy kontrolki bo mają z tego pieniądze, nierzadko duże pieniądze. Jeszcze bardziej cieszą się jak podziedziczymy po ich kontrolkach. Wtedy jesteśmy ich, na zawsze. Jesteśmy jak narkoman w rękach dilera. Dlaczego? Ano dlatego, że jeśli odziedziczymy coś po jakiejś kontrolce lub bibliotece, a jeszcze lepiej jeśli kawałek kodu, który dziedziczy należy …

Odziedzicz a będziesz mój Read More »

Dług technologiczny–zmiana wersji

W poprzednim artykule jako jeden z pierwszych składników długu technologicznego podałem wersję narzędzi. Dzisiaj będzie trochę szerzej o tym. Używanie starych narzędzi ma kilka dosyć poważnch skutków. Odcinanie się od lepszych narzędzi Pierwszy to odcinanie się od nowych zabawek, które pozwoliły by tworzyć lepsze produkty. Korzystając z .net 1.1 nie było wsparcia dla typów generycznych …

Dług technologiczny–zmiana wersji Read More »

Dług technologiczny

Dzisiaj będzie o długu technologicznym, czyli o sprytnie ukrywającym się koszcie projektu. Koszcie, który z czasem potrafi zabić najlepsze projekty a nawet firmy. „As an evolving program is continually changed, its complexity, reflecting deteriorating structure, increases unless work is done to maintain or reduce it.” Meir „Manny” Lehman 1980 Parafrazując ciągle zmieniający się program zwiększa …

Dług technologiczny Read More »