
Już teraz nadmienię, że koncepcji nazywania zmiennych jest mnóstwo. Poniższa działa dla mnie i proponuję ją stosować oraz ewentualnie później modyfikować. Ostatecznie ważne jest, żeby w ramach jednego projektu konsekwentnie korzystać z jednej konwencji.
Zmienne absolutnie zawsze muszą mieć nazwy, które możliwie dużo o nich mówią. Zamiast arkusz1 i arkusz2 należy użyć ArkuszDocelowy i ArkuszZrodlowy. Zamiast MojaZmienna albo x należy użyć SumaSprzedazy lub IloscWierszy itp. Z reguły lepiej, jeżeli nazwa jest dłuższa, niż krótsza.
Jakimi innymi zasadami powinniśmy się kierować?
Części nazwy
Nazwa zmiennej składa się z dwóch części oddzielonych znakiem podkreślenia.
Dim gbln_TrybEdycji As Boolean
Przedrostek (gbln) określa techniczny aspekt zmiennej, jej typ oraz zakres. Część główna (TrybEdycji) definiuje sens zmiennej, jej funkcję w naszym programie.
Część główna
Tworząc nazwę z kilku członów poruszam się od ogółu do szczegółu, czyli:
- ArkuszDocelowy
- ArkuszZrodlowy
- ArkuszWykres
- SumaSprzedaz
- SumaMarza
- SumaRegion
Powyżej stosuję tak zwaną notację wielbłąda, czyli każdy nowy wyraz rozpoczynam wielką literą.
Przedrostki - zakres zmiennej
Przedrostek składa się z dwóch części, określającej zakres stosowania zmiennej oraz jej typ. Pierwsza litera oznacza zakres, następne trzy typ.
Wiemy już, że zmienna może należeć do jednego z trzech zakresów. Poniżej znajdują się też zmienne będą argumentami funkcji, o czym za chwilę.
O zaletach stosowania odpowiednich zakresów widoczności zmiennych pisałem już w części o dobrych praktykach programowania. Umieszczając odpowiedni przedrostek jesteśmy pewni na jaką część kodu ma wpływ nasza zmienna.
Dobry zwyczajem jest też stosowanie odpowiedniego przedrostka dla argumentów funkcji. Wiemy wtedy, że wartość naszej zmiennej pochodzi gdzieś z wyższego poziomu, lub z domyślnej wartości argumentu. Dodatkowo widać od razu czy zmienną można zmieniać (ByRef), czy nie (ByVal). Więcej o argumentach funkcji w części kursu o funkcjach i procedurach.
Przedrostki - typ zmiennej
Druga część przedrostka definiuje typ zmiennej. Dzięki temu łatwo możemy określić techniczne cechy zmiennej, bez wracania do jej definicji. Poniżej znajdują się przedrostki dla wbudowanych typów zmiennych.
Przedrostki stałych
Jak pisałem w poprzedniej części, stałe powinny być tylko globalne. Tworzenie ich nazw jest więc bardzo proste. Wystarczy przed nazwą główną dodać gc_ (global constant).
Własne przedrostki
Jeżeli utworzymy własną klasę wystarczy określić dla niej trzy literowy skrót i używać dla obiektów tej klasy.
Podsumowanie
Stosowanie tej czy jakiejkolwiek innej konwencji nazewniczej z reguły jest na początku ciężkie i łatwo z niej zrezygnować. W przypadku drobnych programów łatwo ulec i zrezygnować z nadawania odpowiednich nazw. Warto jednak być konsekwentnym, bo zyski będą znaczne. Żaden szanujący się programista nie wyobraża sobie programowania bez stosowania konwencji nazewniczej.
Subskrybuj RSS, lub polub blog na Facebooku aby otrzymywać najnowsze informacje o rozwoju kursu.
Przedrostki - zakres zmiennej
Przedrostek składa się z dwóch części, określającej zakres stosowania zmiennej oraz jej typ. Pierwsza litera oznacza zakres, następne trzy typ.
Wiemy już, że zmienna może należeć do jednego z trzech zakresów. Poniżej znajdują się też zmienne będą argumentami funkcji, o czym za chwilę.
O zaletach stosowania odpowiednich zakresów widoczności zmiennych pisałem już w części o dobrych praktykach programowania. Umieszczając odpowiedni przedrostek jesteśmy pewni na jaką część kodu ma wpływ nasza zmienna.
Dobry zwyczajem jest też stosowanie odpowiedniego przedrostka dla argumentów funkcji. Wiemy wtedy, że wartość naszej zmiennej pochodzi gdzieś z wyższego poziomu, lub z domyślnej wartości argumentu. Dodatkowo widać od razu czy zmienną można zmieniać (ByRef), czy nie (ByVal). Więcej o argumentach funkcji w części kursu o funkcjach i procedurach.
Przedrostki - typ zmiennej
Druga część przedrostka definiuje typ zmiennej. Dzięki temu łatwo możemy określić techniczne cechy zmiennej, bez wracania do jej definicji. Poniżej znajdują się przedrostki dla wbudowanych typów zmiennych.
Typ zmiennej
|
Przedrostek
|
Przykład
|
Boolean
|
bln
|
gbln_TrybEdycji
|
Byte
|
byt
|
Byt_RasterData
|
Collection object
|
col
|
Col_Widgets
|
Currency
|
cur
|
cur_Zysk
|
Date (Time)
|
dtm
|
dtm_Start
|
Double
|
dbl
|
dbl_Zapas
|
Integer
|
int
|
int_Ilosc
|
Long
|
lng
|
lng_OstatniWiersz
|
Single
|
sng
|
sng_Srednia
|
String
|
str
|
str_Ulica
|
Variant
|
vnt
|
vnt_CheckSum
|
Przedrostki stałych
Jak pisałem w poprzedniej części, stałe powinny być tylko globalne. Tworzenie ich nazw jest więc bardzo proste. Wystarczy przed nazwą główną dodać gc_ (global constant).
Własne przedrostki
Jeżeli utworzymy własną klasę wystarczy określić dla niej trzy literowy skrót i używać dla obiektów tej klasy.
Podsumowanie
Stosowanie tej czy jakiejkolwiek innej konwencji nazewniczej z reguły jest na początku ciężkie i łatwo z niej zrezygnować. W przypadku drobnych programów łatwo ulec i zrezygnować z nadawania odpowiednich nazw. Warto jednak być konsekwentnym, bo zyski będą znaczne. Żaden szanujący się programista nie wyobraża sobie programowania bez stosowania konwencji nazewniczej.
Zapraszam do zadawania pytań w komentarzach.
Subskrybuj RSS, lub polub blog na Facebooku aby otrzymywać najnowsze informacje o rozwoju kursu.