Xojo Naming
Costanti
-
Inizia con la lettera ”k” minuscola, seguita da title case: kMaxUsers
Variabili locali
-
usare camel case: Dim customerName as Text
-
ridurre al minimo l’uso delle abbreviazioni, usare customerName, non custName
-
l’uso di singole lettere e accettabile solo per i cicli
Array
-
usare il plurale: Dim Customers() As Text
Proprietà
-
usare title case: SustomerName
-
Una proprietà privata usata per salvare una Computed Property dovrebbe iniziare con “m” e il resto del testo title case: mCustomerName
Metodi
- usare title case: SaveCustomer
- i parametri del metodo dovrebbero sere cammeo case: SaveCustomer(customerName As Text)
Controlli
-
usare title case, con un suffisso che indica il tipo di controllo: OkButton, di seguito alcuni esempi
|
Controllo |
Suffisso |
Esempio |
|---|---|---|
|
PushButton, WebButton, iOSButton, BevelButton |
Button |
SaveButton |
|
ListBox, WebListBox |
List |
CustomerList |
|
SegmentedControl, WebSegmentedControl, iOSSegmentedControl |
Selector |
TaskSelector |
|
CheckBox, WebCheckBox |
Check |
TaxableCheck |
|
PopupMenu, WebPopupMenu |
Popup |
StatePopup |
|
RadioButton, RadioGroup |
Radio |
SourceRadio |
|
TextField, WebTextField, iOSTextField |
Field |
NameField |
|
TextArea, WebTextArea, iOSTextArea |
Area |
DescriptionArea |
|
Canvas, WebCanvas, iOSCanvas |
Canvas |
GraphCanvas |
|
Label, WebLabel, iOSLabel |
Label |
NameLabel |
|
PagePanel |
Panel |
MainPanel |
|
TabPanel |
Panel |
MainPanel |
|
ProgressWheel, ProgressBar, WebProgressWheel, WebProgressBar, iOSProgressBar, iOSProgressWheel |
Progress |
DownloadProgress |
|
HTMLViewer, WebHTMLViewer, iOSHTMLViewer |
Viewer |
DocViewer |
|
ImageWell, WebImageView, iOSImageView |
Image |
ProfileImage |
|
GroupBox |
Group |
BusinessGroup |
Classi (tipo/Definizione)
-
usare title case con suffisso _Class: Rubrica_Class
-
eventuali sottoclassi dovrebbero usare il nome della classe originale come suffisso: Clienti_Rubrica_Class
Finestre Window Form
-
usare title case con suffisso “Window”: RubricaWindow
Interfacce
-
usare title case con suffisso “_Interface
Formattazione
-
usare title case per le parole chiave del linguaggio: For Each i As Customer in Customers
-
usare title case per i tipi di dato: Dim count As Integer
-
inserire gli spazi tra argomenti o parametri : SaveCustomer(nome, cognome, localita)
-
non mettere spazi prima e dopo le parentesi
-
i metodi chiamati senza parametri non dovrebbero includere le parentesi: Metodo no Metodo()
-
i metodi con parametri dovrebbero sempre includere le parentesi: Metodo(parametro) e non Metodo parametro
-
lasciare linee di codice bianche per aumentare la leggibilità
-
usare uppercase per i comandi SQL: SELECT * FROM Rubrica EHERE City = “Roma”
Coding
-
Dim definire la variabili locali vicino/nel punto dove sono usate, e definirne una per riga
-
i metodi non utilizzati al di fuori della classe/modulo dovrebbero essere privati
-
evitare di avere più Rerurn per un metodo
-
preferibilmente usare la notazione a punti quando possibile: Dim lenght As Integer = nome.Len
-
non usare mail Me al posto di Self
-
limitare l’uso di globals/variabili globali
-
preferibilmente usare metodi/proprietà condivisi invece di metodi/proprietà globali nei moduli
-
classi, metodi, proprietà, ecc. contenuti in un modulo dovrebbero essere Private o Protected se possibile
