变量命名约定

变量命名约定
作者:Fabien Bodard

这就是您为变量命名的方式!什么方法可以区分两种类型的变量或两种类型的对象。

你需要采用一个约定

如果你根据一时的冲动来使用每个变量,不仅你会忘记名字,而且你会在搜索诡异算法的地方搜索诡异的变量名称。调用约定必须是自动的。事实上,使用相同调用约定的两个人将具有相同的变量名称。

大多数时候,错误的调用约定是由错误的代码造成的。

默认情况下,Gambas 会为小部件指定一个默认名称,例如 button1、textbox1 等,然后当您在 IDE 中添加新组件时递增该值。但这个系统的问题是你的代码真的很难解释或调试......

但此时一切还没有迷失......我也许可以为你提供解决方案:-)。

匈牙利命名法用于Gambas

匈牙利命名约定是一个很好的公约。您可能已经在一些 Microsoft Visual Basic 示例源中看到过这种约定。我并不是说它是最好的,但我在其他一些语言 php、fortran 中使用过它,并且它在 Gambas 上运行得很好。

据我所知,匈牙利命名法的所有使用者一开始都讨厌它。但无论您的意见如何,您都不会后悔学会阅读匈牙利语描述。这个约定是由 Microsoft 开发资深人士、出生于匈牙利的 Charles Simonyi 创建的。它意味着变量由两部分组成:小写字母的基本类型,指示变量的种类;以及首字母大写的限定符,用于区分一个变量与其他相同变量。然后可以在开头添加$这样的字母来区分全局变量。

示例

An integer variable that will be used to locate something
iPos

An integer variable that will be used to locate something in a file and another in a textarea
iFilePos
iLinePos

A form for save a file as...
frmSaveFileAs


普通变量类型前缀约定

变量类型 前缀
Integer i
Float f
Boolean b
Byte bt
Short sh
Long l
Single sng
Variant v
Pointer ptr
String s
Date date
Object o

数组或集合变量类型前缀约定

变量类型 前缀
Static array ar + type prefix
Integer[] ari
Float[] arf
Boolean][] arb
Byte][] arbt
Short[] arsh
Long[] arl
Single[] arsng
Variant[] arv
String[] ars
Date[] ardate
Object[] aro
Collection col

特殊类型

变量类型 前缀
File fi
Process proc

一些组件前缀示例

变量类型 前缀
Form frm
TextBox txtb
TextArea txta
ListBox lstb
ComboBox cbo
Timer tmr
Button but
ToggleButton tglbut
ToolButton tbut