Nazewnictwo


Ogólnie

Rozdział ten opisuje dobre praktyki nazewnictwa czegokolwiek w sztuce programowania ;). Nieważne czy są to klasy, obiekty jPALIO czy zmienne. Poniżej przedstawiono kilka z nich.

  1. Szczegóły konwencji nazywania nie są tak naprawdę istotne. Ważne, żeby zostały ustalone jakieś zasady i żeby wszyscy programiści w zespole je zaakceptowali i się do nich stosowali.

  2. Należy używać jednego języka przy nadawaniu nazw. Należy unikać sytuacji takiej, że część zmiennych jest nazwana w języku polskim a część w angielskim.

  3. Nadawane nazwy powinny jednoznacznie wskazywać za co odpowiedzialna jest dana klasa czy zmienna. Długie nazwy nie wpływają niekorzystnie na wydajność ;). Krótkie nazwy dopuszczalne są właściwie tylko w przypadku lokalnych zastosowań (np. zmienne pętelkowe).

Katalogi

Kod katalogu drzewa elementów jPALIO jest bardzo istotny ponieważ stanowi on składową kodu wszystkich elementów przypisanych do danego katalogu lub katalogów podrzędnych. Zalecane jest aby nadawanie kodów katalogów odbywało się analogicznie jak nadawanie nazw pakietom w języku JAVA. Kod folderu powinien być możliwie jak najkrótszy, ale powinien jednoznacznie wskazywać jakiego typu elementy, związane z jaką funkcjonalnością mogą się znajdować w danym folderze. Należy unikać kodów jednoliterowych. Kod folderu powinien być pisany małymi literami. W przypadku kodu składającego się z kilku słów dopuszczalne jest napisanie pierwszego słowa małymi literami a każda pierwsza litera kolejnych słów może być pisana z dużej.

Przykłady prawidłowych i nieprawidłowych kodów folderów:

ui, userinterface, userInterface

UIUserInterface, user-interface, user_interface


Przykład prawidłowo nazwanych katalogów w aplikacji jDesigner:


Obiekty

Prefiks wszystkich kodów obiektów powinien odpowiadać hierarchii katalogu do którego został przypisany dany obiekt. Odnosząc się do powyższej przykładowej struktury katalogów dla obiektu umieszczonego w katalogu:

samples -> features -> userInterface -> mvc

obiekt powinien posiadać następujący prefiks:

samples.features.userInterface.mvc.

Aplikacja jDesigner automatycznie podpowiada prawidłowy prefiks kodów dla tworzonych obiektów

Dalsza część kodu obiektu zależy od jego zawartości. W przypadku gdy obiekt zawiera definicję klasy należy użyć nazwy tej klasy. Oczywiście zakładamy, że nazwa klasy (np. Groovy) jest zgodna z konwencją JAVA. Przykładowo dla klasy o nazwie SampleController z powyższego katalogu, pełny kod obiektu będzie następujący:

samples.features.userInterface.mvc.SampleController

Obiekty nie zawierające definicji klasy można porównać do metod, stąd zalecane jest nazywanie ich zgodnie z konwencją nazywania metod w języku JAVA. Kod obiektu powinien być dokończony dowolną sekwencją wyrazów pisanych wg konwencji camel case pisząc pierwszy wyraz z małej litery. Przykładowo dla obiektu realizującego wyświetlanie obiektów (objects list), z powyższego katalogu, pełny kod obiektu będzie następujący:

samples.features.userInterface.mvc.objectsList

Dobrą praktyką jest nadawanie takich kodów obiektom (a właściwie jego ostatni członom), aby po samym kodzie można było stwierdzić za co odpowiedzialny jest dany obiekt. Przykładowo obiekt realizujący "jakąś operację" (do some operation) nie powinien mieć kodu typu:

samples.dso

tylko

sample.doSomeOperation

 

Dla obiektów przypisanych do strony kod obiektu powinien być taki sam jak kod strony

Przykład prawidłowo nazwanych obiektów w aplikacji jDesigner: