程序名称

程序有所作为。使用动词在他们正在做的事情之后命名他们。如果无法准确地命名过程,那么过程可能会做太多事情,需要分解为更小,更专业的过程。

因此,一些常见的 VBA 命名约定如下:

对于所有程序:

PascalCase

Public Sub DoThing()

End Sub

Private Function ReturnSomeValue() As [DataType]

End Function

对于事件处理程序:

ObjectName_EventName

Public Sub Workbook_Open()

End Sub

Public Sub Button1_Click()

End Sub

事件处理程序通常由 VBE 自动命名; 重命名它们而不重命名对象和/或处理的事件将破坏代码 - 代码将运行和编译,但处理程序过程将被孤立并且永远不会被执行。

布尔成员

考虑布尔返回函数:

Function bReadFile(ByVal strFile As String, ByRef strData As String) As Boolean
End Function

相比于:

Function CanReadFile(ByVal path As String, ByRef outContent As String) As Boolean
End Function

Can 前缀服务于相同的目的 b 前缀:它标识函数的返回值作为 Boolean。但是 Can 读取比 b 更好:

If CanReadFile(path, content) Then

相比:

If bReadFile(strFile, strData) Then

考虑在布尔返回成员(函数和属性)前面使用 CanIsHas 等前缀,但仅限于它添加值时。这符合当前的 Microsoft 命名准则