Normy programowania - sposób na programistę indywidualistę?
- 17.03.2003
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).
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.