Praca ze skryptami Stata: standardy i czytelność kodu.
Poniższe zalecenia nie są moim wymysłem (zob. np. propozycja konwecji Stata, z której conieco zaczerpnąłem). Podobnie jak w matematyce czy ekonometrii używamy pewnej konwencji (np. macierze oznaczamy podgrubionym symbolem z wielkiej litetery, subskrypt t najczęściej oznacza indeks obserwacji po czasie, itp.), tak w programach jednolita notacja poprawia czytelność. Ja i moi współpracownicy wiemy, że nauka kilku z poniższych reguł była bolesna (czytaj: na własnych błędach). Przyjęcie tych zasad na początku nauki Stata oszczędzi sporo czasu i nerwów przy pisaniu projektu i ogólnie dalszej pracy z danymi (zwłaszcza, że większość zasad może być zastosowana do innych pakietów statystycznych lub nawet języków programowania).
Używaj skryptów (do-file). Wszelkie operacje na danych powinny byc w kodzie, a nie recznie. Dzieki temu kod zaczytuje dane zrodlowe i istnieje mozliwosc cofniecia przeksztalcen danych. Zadbaj o to, żeby Twój do-file był samodzielny, tzn. zaczytywał dane, wykonywał obliczenia i raportował wyniki bez potrzeby uruchamiania innych skryptów.
Stosuj logiczne nazwy zmiennych. Powinny zaczynać się z wielkich liter, np. KodPocztowy albo PostCode.
Dopuszcza się też oddzielanie wyrazow przy użyciu symbolu "_" - np. Kod_Pocztowy.
Nazwy identyczne z nazwami komend lub zaczynające się od "_" mogą powodować błędy.
Używaj pełnych nazw komend (tym bardziej dotyczy to skracania zmiennych -
bardzo łatwo o pomyłkę). Skróty sa dobre gdy chcemy szybko coś przeliczyć
w terminalu, ale w do-file nie musimy oszczędzać liter.
Formuly matematyczne: operatory oddzielamy spacją. Np.
Stosowanie wcięcia także poprawia czytelność kodu. Wcięcia powinny
być używane do oddzielania poziomów w pętli. Np.
Stosuj tabulację do podziału komend jednowierszowych na bloki. Np.
Stosuj ii (podwójne i) jako nazwę iteratora w pętli (zob. przykład wyżej). Do iteratorów
w pętlach głębszych poziomów odpowiednio: jj, kk, itd. Nie używaj podwójnego
i, j, itd. w nazwach innych zmiennych, dzięki czemu łatwo znajdziesz iteratory w kodzie.
Na końcu kodu dodaj 2-3 puste linie. Dzięki temu łatwo zauważysz gdzie kończy się kod -- nie przeoczysz ostatniej linii kodu.
Uzywamy komentarzy w kodzie. W przeciwnym wypadku kod nie jest czytelny dla innych
a po pewnych czasie przestaje być czytelny nawet dla samego autora kodu.
Nie zaleca się używania do komentarzy pojedynczego symbolu "*". Zamiast tego
do jednolinijkowych komentarzy nalezy uzywac "//".
Używaj logu. Dzięki temu łatwiej wychwycisz błędy i porównasz wyniki.
Automatyzuj raportowania wyników. W Stata jest wiele komend pozwalających automatycznie generować wykresy i tabele, niemal w każdym formacie (tabele np. w: Word, TeX, HTML czy XML).
Dodatkowe zalecenia dla dużych projektów (do takich zawsze zaliczam pracę w zespole, niezależnie od tego jak "duży" jest kod):
-- "Parametry wejściowe" komend zamiast ręcznego wpisywania (minimalizuje to ryzyko błędu, np. gdy zmienimy "parametr wejsciowy" w jednym miejscu, a zapomnimy w innym).
-- W przypadku dużych projektów (wiele obliczeń, kilka osób obsługuje projekt) - stosuj ścieżki względne z logiczną strukturą podkatalogów. W rezultacie zmiana ścieżki (np. po przeniesieniu projektu na pendrive lub inny komputer) wymagać będzie modyfikacji jednej linii skryptu.