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

Tipo de variable Prefijo
File fi
Process proc

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