Zasada skautów
Oryginalny tytuł: The Boy Scout Rule
Autor: Robert C. Martin (Uncle Bob)
Skauci mają zasadę: "Zawsze zostawiaj obozowisko czystsze niż je zastałeś." Jeśli zastaniesz bałagan, posprzątaj go niezależnie od tego, kto był jego sprawcą. Celowo ulepszaj środowisko dla następnych obozowiczów. (W rzeczywistości, oryginalna forma tej zasady, zapisana przez Roberta Baden-Powella, ojca skautingu, brzmi następująco: "Postaraj się zostawić świat choć trochę lepszym, niż go zastałeś.")
A co jeśli wprowadzilibyśmy taką samą zasadę w naszym kodzie: "Zawsze wysyłaj do repozytorium moduł czystszy niż go zastałeś"? Niezależnie od tego, kto był autorem, co jeśli za każdym razem włożylibyśmy trochę wysiłku, nieważne jak małego, aby ulepszyć moduł? Jaki byłby tego efekt?
Myślę, iż jeśli wszyscy byśmy pracowali wedle tej zasady, to bylibyśmy świadkami końca bezlitosnego pogarszania się naszego oprogramowania. Zamiast tego, nasze systemy stawałyby się coraz lepsze, w miarę jak ewoluują. Widzielibyśmy również zespoły, które dbają o system jako całość, zamiast jednostek dbających tylko o swoje małe części.
Nie sądzę, aby trzymanie się tej zasady wiele kosztowało. Nie musisz doprowadzać każdego modułu do perfekcji przed oddaniem go do repozytorium. Musisz tylko sprawić, aby stał się on odrobinę lepszy niż go zastałeś. Oczywiście oznacza to, że kod jaki dodasz do modułu musi być dobry. Oznacza to również, że poprawisz chociaż jedną rzecz przed oddaniem modułu z powrotem do repozytorium. Możesz po prostu poprawić nazwę zmiennej, bądź podzielić długą funkcję na dwie mniejsze. Możesz usunąć cykliczne zależności, albo wprowadzić interfejs, aby odłączyć kontrakt od detali.
Szczerze powiedziawszy, to brzmi to jak pospolita przyzwoitość - jak mycie rąk po skorzystaniu z ubikacji, bądź wrzucenie śmiecia do kosza zamiast na ziemię. W rzeczy samej, fakt zostawiania bałaganu w kodzie powinien być tak samo nieakceptowalny społecznie, jak zaśmiecanie. To powinno być coś, czego po prostu się nie robi.
Niemniej jednak jest w tym coś jeszcze. Dbanie o własny kod jest jedną rzeczą. Dbanie o kod zespołu jest czymś zupełnie innym. Zespoły pomagają sobie i wzajemnie po sobie sprzątają. Pracują trzymając się zasady skautów, ponieważ jest dobra dla wszystkich, a nie tylko dla nich.
Artykuł został opublikowany na licencji Creative Commons Uznanie Autorstwa 3.0.