Saturday, June 27, 2009

Największe kłamstwo programisty

"Poprawię to później" jest największym jakie znam kłamstwem programisty. Najczęściej jeszcze połączone z drugim: "bo teraz nie mam czasu". Oba się świetnie sprzedają w świecie IT. Przecież naszemu klientowi na czasie bardzo zależy. Im szybciej dostarczymy gotowy kod tym szybciej może go wykorzystać, więc co w tym złego, że chcemy usprawnić kod później, gdy przyjdzie na to czas? Uważam, że nic, jeśli programista jest szczery i naprawdę chce dany kod poprawić. Najczęściej jednak taki programista w ogóle czegoś takiego nie powie. Profesjonalista, uzna swoją pracę za skończoną dopiero wtedy, gdy jest skończona czyli gdy jego kod jest wystarczająco dobry. Oczywiście, zdarza się, że i on potrzebuje więcej czasu jednak zamiast kłamać po prostu zostanie po godzinach i kod dopracuje.
Kiepscy programiści nie zdają sobie sprawy z implikacji swoich poczynań. Z kodem jest podobnie jak z zabezpieczeniami. Jest tak dobry jak jego najsłabsza część. Jeśli system, który budujemy zawiera słabe rozwiązanie to właśnie ono najczęściej zawodzi. Nie jest wówczas istotne, że pozostałe 99% systemu działa poprawnie bo dla użytkownika program zawiódł jako całość. Pół biedy jeśli leń po prostu zrobił błąd, który daje się niewielkim kosztem naprawić. Zwykle nie jest jednak tak różowo, szczególnie z przypadku poważniejszych architektonicznie zmian. Takie zmiany bywają w praktyce nieodwracalne. Nasz piękny system, nad którym w pocie czoła miesiącami pracowaliśmy poległ z ręki nieodpowiedzialnego programisty.