sobota, stycznia 03, 2015

Postanowienia noworoczne programisty ;-)

1) napiszę codziennie co najmniej 1 test[1],
2) napisze codziennie co najmniej 50 linii kodu[2],
3) jeśli jest jakiś nieotestowany kod napiszę codziennie chociaż 1 test do tego kodu.

Ja co prawda nie robię postanowień noworocznych, ale od blisko dwóch miesięcy niemal codziennie wstawiam sobie dwa pierwsze a czasem i trzecie na swoje ToDo prywatne i pracowe ;-)

Nie zawsze udaje się spełnić, czasem trzeba kombinować z liczeniem, ale staram się.

Pierwsze staram się robić, bo dzięki temu kod powinien być łatwiejszy w użyciu, a z czasem powinienem się nauczyć pisać bardziej testowalny kod. Do tego łatwiej wtedy algorytmy konstruować, bo jeśli piszesz najpierw test (na razie potrafię to tylko robić gdy piszę kod do różnych "zadanek") to naturalnie zwracasz uwagę na corner cases :-)
Drugie staram się robić, bo dzięki temu nie traci się zdolności do zmiany algorytmu na kod.
Trzecie staram się robić, bo dzięki temu jest szansa, że lepiej poznam kod, a sam kod będzie bardziej testowalny.

Czemu tylko 1 test i aż 50 linii kodu?
1 test bo to jest Kaizen, małe kroki. Może udałoby mi się napisać testy od razu do całego istniejącego kodu, ale byłoby to tak trudne, że później bym tego unikał. A tak jest szansa, że wejdzie mi to w krew.
50 linii kodu bo po pierwsze liczymy w nich testy, po drugie im więcej kodu napiszesz tym robisz to pewniej, to jak z kaligrafią ;-)



[1] - najmniej chodzi o 1 unit test, najlepiej zestaw unit testów w pliku ;-)
[2] - wraz z testami


Podobne postybeta
Do chudości przez szantaż
Postanowienia noworoczne ;-)
Hackowanie organizacyjno-projektowe ;-)
GeeCON 2015
Trzy wielkie tajemnice Androida (od strony programisty)