Dokumentacja i ewidencja skryptów

Zasuszone rośliny przymocowane do arkusza zielnika

Po kilku latach na serwerze leży kilkadziesiąt skryptów. Część działa, część nie, a nikt nie wie, które są które.

Opis w nagłówku pliku

Do czego służy, kto napisał, kiedy, jak uruchomić, czego wymaga. Pięć linii, które oszczędzają godzin czytania kodu.

Najważniejsze zdanie to jednak nie opis działania, tylko powód powstania. Kod pokazuje, co robi narzędzie; nie pokazuje, jaki problem miało rozwiązać ani dlaczego akurat tak. Bez tego przy zmianie nikt nie wie, których zachowań wolno ruszyć, a które ktoś celowo dopisał po awarii.

Spis skryptów

Jedno zestawienie: nazwa, przeznaczenie, harmonogram, właściciel, data ostatniej zmiany. Bez niego nie da się przeprowadzić żadnego przeglądu.

Spis ma sens tylko wtedy, gdy jest aktualny, więc powinien być krótki. Arkusz albo zwykły plik tekstowy wystarcza w zupełności. Rozbudowana ewidencja, której nikt nie uzupełnia, jest gorsza niż jej brak, bo tworzy złudzenie porządku. Wpis powstaje na końcu wdrożenia, razem z wpięciem zadania do harmonogramu.

Właściciel

Osoba odpowiedzialna za narzędzie. Skrypty bez właściciela działają, dopóki nie przestaną, i wtedy nikt nie wie, co z nimi zrobić.

Właściciel nie musi być autorem ani programistą. To osoba, która wie, po co narzędzie istnieje i kto ucierpi, gdy przestanie działać. Przy narzędziach zrobionych na zewnątrz warto zapisać także, kto je robił i gdzie leży kod — samo „ktoś nam to kiedyś zrobił" nie wystarczy przy pierwszej awarii.

Zależności

Z czego skrypt korzysta i co od niego zależy. Wyłączenie narzędzia bez tej wiedzy zatrzymuje rzeczy pozornie niezwiązane.

Warto wymienić konkretnie: katalogi, konta, tabele, usługi zewnętrzne i wersję środowiska. Ta lista przydaje się nie tylko przy wyłączaniu, ale przy każdej zmianie na serwerze — pozwala z góry ocenić, co się posypie po przenosinach albo aktualizacji.

Repozytorium zamiast serwera

Skrypty trzymane w kontroli wersji mają historię zmian i dają się odtworzyć. Pliki edytowane bezpośrednio na serwerze nie mają ani jednego, ani drugiego.

Repozytorium rozstrzyga też pytanie, która wersja jest właściwa, gdy obok siebie leżą pliki z dopiskami „stary" i „kopia". Do repozytorium nie trafiają natomiast dane dostępowe, o czym mówi tekst o bezpieczeństwie skryptów administracyjnych.

Przegląd roczny

Co jest jeszcze potrzebne, co można usunąć, co wymaga poprawy. Godzina raz w roku utrzymuje porządek, którego inaczej nie da się odzyskać.

Przy okazji przeglądu warto sprawdzić, czy narzędzia nie dublują się nawzajem i czy któreś nie zostało zastąpione funkcją systemu, który firma w międzyczasie zaktualizowała. Skrypty, które przestały być potrzebne, usuwa się razem z ich zadaniami w harmonogramie i wpisem w spisie.

Przegląd jest też momentem na uporządkowanie narzędzi jednorazowych, które zostały na serwerze dłużej, niż powinny. Granicę między nimi a narzędziami stałymi opisuje tekst o skrypcie jednorazowym i narzędziu stałym.