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:
(ps private functie of precedure wordt niet aangegeven door een begin-$)
FCommit.class
PRIVATE $sChange AS String
...
PUBLIC SUB Run(sChange AS String) AS Boolean
$sChange = sChange
Ps. ook gecombineerd met h komt er een $ voor:
Private $hTree As TreeView
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 |
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 doeDitEnDat(sParameter AS String) AS BOOLEAN ... 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:
Een project dat deze stijlvoorschriften volgt is De Gambas IDE zelf! Nadeel:
|
Een kleine afwijking: Zelf hou ik meer van een vaste combinatie van twee letters. Een samengestelde krijgt vast 4 letters.
(*) Linkse kolom die hiërarchie toont in IDE is smal. Upd: area heb ik vervangen door “ |
From the Gambas Documentation – see Gambas website
Constant
Een Public Const wordt in hoofdletters geschreven:
Public Const KEY_SOURCE As String = "$S"
Uit CProjectTree.class (source op GitLab)
Read en Write Methodes
Voor de naamgeving van methods, bepaalde procedures binnen objecten, geldt een naamgeving voor READ en WRITE:
' Gambas class file
'
Property Read Name As String
' dit is de property Name
Private $sName As String
' deze variabele - $ dus private - wordt intern gebruikt door het programma van de klasse
Private Function Name_Read() As String
' Name van property, _Read toegevoegd, deze functie is nu private maar zou evengoed public kunnen zijn.
Return $sName
' de variabele die intern gebruikt en gemanipuleerd wordt blijft afgeschermd en wordt enkel hier als waarde doorgespeeld naar buiten.
End
'
Automatisch aanvullen
Als je in de IDE tikt:
Property Read sName As String
en “enter” doet, wordt automatisch in de editor volgende code toegevoegd:
Private Function sName_Read() As String
..
End
Als je in de IDE tikt:
Property sNickname As String
dan wordt aangevuld met:
Private Function sNickname_Read() As String
..
End
Private Sub sNickname_Write(Value As String)
..
End
Zie ook broncode Gambas3 IDE op https://gitlab.com/gambas/gambas, bv CProjectInfo.class
Zie ook Gambas Index