Convenciones Acerca de Nombres de Variables
¡ Se trata sólo del modo de dar un nombre apropiado a las variables ! El método para diferenciar entre cómo escribir variables y cómo escribir objetos.
Es necesario adoptar una convención.
Si da un nombre a cada variable, basandose en el capricho del momento, no sólo se encontrará con nombres que no recuerda, si no que se encontrará buscando nombres de variables en lugar de buscar los mejores algoritmos. La convención para los nombres de variables ha de ser automática. De hecho, dos personas que usen la misma convención deberían llegar al mismo nombre de variable.
La mayor parte del tiempo, una mala convención de nombres acompaña a un mal código.
Por defecto, Gambas da un nombre por defecto a los controles, como button1, textbox1, etc... que irá incrementándose conforme añade nuevos componentes al entorno IDE. Pero el problema con este sistema es que su código resultará realmente difícil de interpretar o depurar...
Pero no todo está perdido aún... tal vez esta sea la solución para su caso :-).
La convención húngara para Gambas
La convención húngara es buena. Probablemente la haya visto en algunos ejemplos de código de Microsoft Visual Basic. No digo que sea la mejor, pero la he empleado en otros lenguajes como php, fortran, y fue bien con Gambas.
Todos los programadores que emplean la convención húngara que conozco, la odian al principio. Pero sea cual sea su opinión, no se arrepentirá de haber aprendido a leer Húngaro.
Esta convención fue creada por Charle Simonyi, veterano desarrollador de Microsoft y húngaro de nacimiento. Implica que las variables tienen dos partes: un tipo básico en letras minúsculas indicando el tipo de variable, y un calificador con una letra mayúscula inicial que distingue una variable de las otras del mismo tipo. Después, puede usar
$ por ejemplo al final para señalar las variables globales.
Examples
Una variable entera usada para localizar algo
iPos
Una variable entera que localizará algo en un archivo, y otra que lo hará en un control textarea
iFilePos
iLinePos
Un formulario para guardar un archivo...
frmSaveFileAs
Prefijos convenidos para tipos comunes de variables
Tipo de variable
|
Prefijo
|
Integer
|
i
|
Float
|
f
|
Boolean
|
b
|
Byte
|
bt
|
Short
|
sh
|
Long
|
l
|
Single
|
sng
|
Variant
|
v
|
Pointer
|
ptr
|
String
|
s
|
Date
|
date
|
Object
|
o
|
Prefijos convenidos para matrices o colecciones
Tipo de variable
|
Prefijo
|
Matriz estática
|
ar + prefijo de tipo
|
Integer[]
|
ari
|
Float[]
|
arf
|
Boolean][]
|
arb
|
Byte][]
|
arbt
|
Short[]
|
arsh
|
Long[]
|
arl
|
Single[]
|
arsng
|
Variant[]
|
arv
|
String[]
|
ars
|
Date[]
|
ardate
|
Object[]
|
aro
|
Collection
|
col
|
Tipos especiales
Prefijos de ejemplo para algunos componentes
Tipo de variable
|
Prefijo
|
Form
|
frm
|
TextBox
|
txtb
|
TextArea
|
txta
|
ListBox
|
lstb
|
ComboBox
|
cbo
|
Timer
|
tmr
|
Button
|
but
|
ToggleButton
|
tglbut
|
ToolButton
|
tbut
|