Naamgeving

Gambas Naming Conventions

De naamgevingsafspraken worden niet strikt opgelegd door de compiler. Maar programma’s die deze conventies volgen zijn gemakkelijker te lezen door andere programmeurs.

Variable names

Het underscore teken _ wordt voorbehouden voor de IDE waar het de scheiding vormt tussen een element in de grafische omgeving en een bewerking erop als “klikken”:

lsbxName_Click

Een punt wordt gebruikt voor de eigenschap van zo’n element:

lsbxName.text

Alle “private” variabele namen van een “class” beginnen met het dollarteken $
en kunnen binnen de class overal gebruikt worden; hier ter vergelijking een parameter met dezelfde naam:

FCommit.class
PRIVATE $sChange AS String
...
PUBLIC SUB Run(sChange AS String) AS Boolean
$sChange = sChange

Bij variabelen wordt met een eerste letter het type aangegeven, behalve bij

  • de publieke eigenschappen (variabelen) van een classe
  • de PROPERTY in een classe
  • de PRIVATE CONST worden met hoofdletters geschreven

(blijkt uit de source van de IDE).

De eerste kleine letter geeft het type van variabele aan:

Letter Type
a Array
b Boolean
c Collection
f Float
h Object (Handle)
i Integer,Long,Short,Byte.
n An integer storing a number of objects.
s String
as array of strings
Voorbeeld
PRIVATE $iLast AS Integer
PRIVATE $sLast AS String
PRIVATE $hEditor AS Object
PRIVATE $sOldVal AS String
PRIVATE $bFreeze AS Boolean
PUBLIC FUNCTION getData (cDataCol AS Collection) AS Collection
  DIM sInputString AS String
  DIM hFileIn AS File
  DIM sFileName AS String
  DIM asItems AS String[]
 ...
PUBLIC SUB Form_Resize()
  DIM iWidth AS Integer
...
'FForm.class
PUBLIC Name AS String
PRIVATE $bDoNotModify AS Boolean

Form element names

Als je in de Gambas-IDE een nieuw element op een “form” maakt, krijgt het een naam als “Label1” “Label2” …

Nog voor je een “methode” toewijst aan (code schrijft voor) het nieuwe element hernoem je het best zo “btnStart” or “lstAddressSelect”.

De eerste twee à drie letters zijn klein en geven het type aan volgens onderstaande definitie:
Form-Elements Officieel:

Letter Type
btn button
chk CheckBox
cvw ColumnView
cmb ComboBox
dwg DrawingArea
dlg FontChooser
edt GambasEditor
frm Frame
grd GridView
spl HSplit
iv IconView
lbl Label
lst ListBox
lvw ListView
pan Panel
img PictureBox
opt RadioButton
svw ScrollView
spb SpinBox
tab TabStrip
tim Timer
txa TextArea
txt TextBox
txv TextView
tbt ToolButton
trv TreeView
spl VSplit

Een project dat deze stijlvoorschriften volgt is
gambas2-1.9.28/ apps/src/gambas2

De Gambas IDE zelf!

Nadeel:

  • beetje inconsequent 2 à 3 letters is niet vast: iv = iconview en grd = gridview
  • bij lst kan je niet onmiddellijk zien of het listbox of lstview is
  • is frm Frame of Form?
Een kleine afwijking:
Zelf hou ik meer van een vaste combinatie van twee letters.
Een samengestelde krijgt vast 4 letters.

Letter Type
bt button
tb togglebutton
bx box
vw View
ar area
lb label
fr frame
pn pannel
sl slider
st strip
sp split
samen- gesteld:
txbx textbox
vlbx valuebox
lsbx listbox
txlb textlabel
txar textarea
grvw gridview
scbr scrollbar
prbr progressbar
cmbx combobox
chbx checkbox
clvw columnview
1 Hoofdletter * vrij voor:
M Module
F Form
C Class
(Dat Data)
(Sql SQL statement)

(*) Linkse kolom die hiërarchie toont in IDE is smal.
1 Hoofdletter is genoeg, er is geen verwarring mogelijk.
Rest van de ruimte beter te gebruiken om relevante namen te geven aan de Forms, Modules en Classes.
(ik gebruikte voordien 3 letters: FrmKlant ClsFactuur, ModCommon)

From the Gambas Documentation – see Gambas website

Zie ook Gambas Index

Leave a Reply