Normy programowania - sposób na programistę indywidualistę?

Rozsądny Węgier

Istnieją jednak dobre i sprawdzone wzorce, z których można podczas tworzenia takich reguł skorzystać. Jednym z nich jest tzw. Notacja Węgierska, powstała przed 15 laty w firmie Microsoft. Jej autorem jest pracownik tej firmy, Węgier z pochodzenia - Charles Simonyi. Z całością jego opracowania omawiającego szczegóły tej notacji można się zapoznać pod adresem:http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvsgen/html/hunganotat.asp

Jedną z istotnych i mających uniwersalny charakter przyjętych przez Simonyiego reguł są zasady nazewnictwa zmiennych i procedur. Wyróżnia on cztery charakterystyczne cechy, jakie powinna mieć stosowana w programie nazwa:

  • mnemoniczność - nazwa winna dać się zapamiętać poprzez skojarzenie

  • sugestywność - nazwa powinna mówić coś o sobie innym (innym niż autor)

  • spójność - podobne nazwy winny być przyporządkowane zmiennym o podobnym charakterze

  • szybkość - cechę tę Simonyi wiąże z dwoma aspektami: nazwa powinna powstać w miarę szybko, bez szczególnie długiego zastanawiania się, nie powinna także być zbyt długa, by nie wydłużać czasu na jej wprowadzanie z klawiatury (i poprawę ewentualnych, popełnionych przy tej okazji błędów).
Dodatkowe reguły proponuje się w omawianej systematyce dla nazw procedur. Jedna z nich zakłada, że złożona z jednego bądź dwóch słów nazwa procedury jest poprzedzana oznaczeniem zmiennej wyznaczanej w tej procedurze (jeżeli taka w ogóle występuje), a następują po niej oznaczenia możliwie wszystkich parametrów formalnych tej procedury. Jak przyznaje autor, jest to zasada dość kontrowersyjna, gdyż zmiana w zakresie parametrów procedury powoduje konieczność zmiany również wszystkich jej, występujących w danym programie, wywołań. Powoduje to jednak konieczność odszukania wszystkich tych wywołań i gwarantuje, że wszystkie one zostały odpowiednio dostosowane.

Reguły Simonyiego, mimo że opracowane z myślą przede wszystkim o języku C, mogą z łatwością zostać zaadaptowane do innych języków. Nie są to jednak jedyne dostępne zasady tego rodzaju.

I inni

Znacznie bardziej szczegółowo zasady tworzenia programów w języku Java regulują zasady powstałe w firmie Netscape Software, opracowane podczas tworzenia pierwszej wersji przeglądarki internetowej tej firmy, obsługującej w pełni wspomniany język (http://developer.netscape.com/docs/technote/java/codestyle.html ). Zasady te regulują praktycznie wszystko, co jest związane z tworzeniem programu, łącznie z zasadami np. "wcinania" wierszy kodu i układem struktur if...else. Charakterystyczne jest zalecenie, aby wiersz kodu nie przekraczał 80 znaków, co wydaje się klasyczną pozostałością pojemności karty dziurkowanej, gdyż, przy obecnych możliwościach, trudno kojarzyć z długością wiersza ekranu.

Te i wiele im podobnych, dostępnych w sieci reguł tworzenia programów w języku Java są w mniejszym lub większym stopniu pochodnymi zasad opracowanych przez firmę, w której język ten powstał. Zasady te (Coding standards for Java) są najbardziej wyczerpujące i stanowią pewnego rodzaju nadrzędny wzorzec, który jest dostępny pod adresem internetowym:http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html

Obfitość reguł programowania w różnych językach dostępnych w sieci nie oznacza, że wszystkie z nich stanowią dobre wzorce do tworzenia własnych zasad z tego zakresu. Publikacje sieciowe bywają często zbiorem uwag raczej niż spójnych i wyczerpujących reguł. W niektórych przypadkach można też odnieść wrażenie, że autorzy tych opracowań nie do końca rozumieją istotę zagadnień, którymi próbują się zajmować. Przykładem tego może być mylenie i traktowanie łączne języków C oraz C++.

Teoria i życie

Istnienie najlepszych nawet norm programowania niewiele pomaga, jeżeli nie znajdzie się mechanizmów ich wdrożenia w codzienną praktykę programistów i argumentów, które ich do tego skłonią. Jednym ze sposobów na pokonanie tej przeszkody może być włączenie w związane z tym działania wspomnianych na wstępie programistów indywidualistów.


TOP 200