📄 编码规范_vb.htm
字号:
</span><span style='font-size:9.0pt;font-family:宋体;mso-ascii-font-family:"\000B";
mso-hansi-font-family:"\000B";color:black'>对于上面没有列出的控件,应该用唯一的由两个或三个字符组成的前缀使它们标准化,以保持一致性。只有当需要澄清时,才使用多于三个字符的前缀。</span><span
lang=EN-US style='font-size:9.0pt;font-family:"\000B";color:black'><br>
<br>
</span><span style='font-size:9.0pt;font-family:宋体;mso-ascii-font-family:"\000B";
mso-hansi-font-family:"\000B";color:black'>例如,对于派生的或修改的控件象上述那样扩展其前缀,使得在真正使用了哪一个控件的问题上避免混淆。对于第三方控件,应该把制造商的小写缩写名附加到前缀中。例如,从</span><span
lang=EN-US style='font-size:9.0pt;font-family:"\000B";color:black'> Visual
Basic Professional 3D </span><span style='font-size:9.0pt;font-family:宋体;
mso-ascii-font-family:"\000B";mso-hansi-font-family:"\000B";color:black'>框架中创建的一个控件实例可以用</span><span
lang=EN-US style='font-size:9.0pt;font-family:"\000B";color:black'> fra3d </span><span
style='font-size:9.0pt;font-family:宋体;mso-ascii-font-family:"\000B";
mso-hansi-font-family:"\000B";color:black'>这样的前缀,以避免混淆所使用的控件。</span><span
lang=EN-US style='font-size:9.0pt;font-family:"\000B";color:black'><br
style='mso-special-character:line-break'>
<![if !supportLineBreakNewLine]><br style='mso-special-character:line-break'>
<![endif]><o:p></o:p></span></p>
<h3 style='margin-top:6.0pt;margin-right:0cm;margin-bottom:6.0pt;margin-left:
0cm'><span lang=EN-US>4 </span><span style='font-family:
宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>常量和变量命名约定</span></h3>
<p class=MsoNormal style='margin-top:6.0pt;margin-right:0cm;margin-bottom:6.0pt;
margin-left:0cm'><span lang=EN-US style='font-size:9.0pt;font-family:"\000B";
color:black'><br>
<br>
</span><span style='font-size:9.0pt;font-family:宋体;mso-ascii-font-family:"\000B";
mso-hansi-font-family:"\000B";color:black'>除了对象之外,常量和变量也需要良好格式的命名约定。本节列出了</span><span
lang=EN-US style='font-size:9.0pt;font-family:"\000B";color:black'> Visual
Basic </span><span style='font-size:9.0pt;font-family:宋体;mso-ascii-font-family:
"\000B";mso-hansi-font-family:"\000B";color:black'>支持的常量和变量的推荐约定。并且讨论标识数据类型和范围的问题。</span><span
lang=EN-US style='font-size:9.0pt;font-family:"\000B";color:black'><br>
<br>
</span><span style='font-size:9.0pt;font-family:宋体;mso-ascii-font-family:"\000B";
mso-hansi-font-family:"\000B";color:black'>变量应该总是被定义在尽可能小的范围内。全局</span><span
lang=EN-US style='font-size:9.0pt;font-family:"\000B";color:black'> (Public) </span><span
style='font-size:9.0pt;font-family:宋体;mso-ascii-font-family:"\000B";
mso-hansi-font-family:"\000B";color:black'>变量可以导致极其复杂的状态机构,并且使一个应用程序的逻辑非常难于理解。全局变量也使代码的重用和维护更加困难。</span><span
lang=EN-US style='font-size:9.0pt;font-family:"\000B";color:black'><br>
<br>
Visual Basic </span><span style='font-size:9.0pt;font-family:宋体;mso-ascii-font-family:
"\000B";mso-hansi-font-family:"\000B";color:black'>中的变量可以有下列范围:</span><span
lang=EN-US style='font-size:9.0pt;font-family:"\000B";color:black'><br>
<br>
</span><span style='font-size:9.0pt;font-family:宋体;mso-ascii-font-family:"\000B";
mso-hansi-font-family:"\000B";color:black'>范围</span><span style='font-size:
9.0pt;font-family:"\000B";color:black'> </span><span style='font-size:9.0pt;
font-family:宋体;mso-ascii-font-family:"\000B";mso-hansi-font-family:"\000B";
color:black'>声明位置</span><span style='font-size:9.0pt;font-family:"\000B";
color:black'> </span><span style='font-size:9.0pt;font-family:宋体;mso-ascii-font-family:
"\000B";mso-hansi-font-family:"\000B";color:black'>可见位置</span><span
lang=EN-US style='font-size:9.0pt;font-family:"\000B";color:black'> <br>
</span><span style='font-size:9.0pt;font-family:宋体;mso-ascii-font-family:"\000B";
mso-hansi-font-family:"\000B";color:black'>过程级</span><span style='font-size:
9.0pt;font-family:"\000B";color:black'> </span><span style='font-size:9.0pt;
font-family:宋体;mso-ascii-font-family:"\000B";mso-hansi-font-family:"\000B";
color:black'>过程,子过程或函数过程中的</span><span style='font-size:9.0pt;font-family:"\000B";
color:black'> </span><span style='font-size:9.0pt;font-family:宋体;mso-ascii-font-family:
"\000B";mso-hansi-font-family:"\000B";color:black'>‘</span><span lang=EN-US
style='font-size:9.0pt;font-family:"\000B";color:black'>Private</span><span
style='font-size:9.0pt;font-family:宋体;mso-ascii-font-family:"\000B";
mso-hansi-font-family:"\000B";color:black'>’</span><span style='font-size:
9.0pt;font-family:"\000B";color:black'> </span><span style='font-size:9.0pt;
font-family:宋体;mso-ascii-font-family:"\000B";mso-hansi-font-family:"\000B";
color:black'>在声明它的过程中</span><span lang=EN-US style='font-size:9.0pt;font-family:
"\000B";color:black'> <br>
</span><span style='font-size:9.0pt;font-family:宋体;mso-ascii-font-family:"\000B";
mso-hansi-font-family:"\000B";color:black'>模块级</span><span style='font-size:
9.0pt;font-family:"\000B";color:black'> </span><span style='font-size:9.0pt;
font-family:宋体;mso-ascii-font-family:"\000B";mso-hansi-font-family:"\000B";
color:black'>窗体或代码模块(</span><span lang=EN-US style='font-size:9.0pt;font-family:
"\000B";color:black'>.frm</span><span style='font-size:9.0pt;font-family:宋体;
mso-ascii-font-family:"\000B";mso-hansi-font-family:"\000B";color:black'>、</span><span
lang=EN-US style='font-size:9.0pt;font-family:"\000B";color:black'>.bas </span><span
style='font-size:9.0pt;font-family:宋体;mso-ascii-font-family:"\000B";
mso-hansi-font-family:"\000B";color:black'>)的声明部分中的</span><span
style='font-size:9.0pt;font-family:"\000B";color:black'> </span><span
style='font-size:9.0pt;font-family:宋体;mso-ascii-font-family:"\000B";
mso-hansi-font-family:"\000B";color:black'>‘</span><span lang=EN-US
style='font-size:9.0pt;font-family:"\000B";color:black'>Private</span><span
style='font-size:9.0pt;font-family:宋体;mso-ascii-font-family:"\000B";
mso-hansi-font-family:"\000B";color:black'>’</span><span style='font-size:
9.0pt;font-family:"\000B";color:black'> </span><span style='font-size:9.0pt;
font-family:宋体;mso-ascii-font-family:"\000B";mso-hansi-font-family:"\000B";
color:black'>窗体或代码模块中的每一个过程</span><span lang=EN-US style='font-size:9.0pt;
font-family:"\000B";color:black'> <br>
</span><span style='font-size:9.0pt;font-family:宋体;mso-ascii-font-family:"\000B";
mso-hansi-font-family:"\000B";color:black'>全局</span><span style='font-size:
9.0pt;font-family:"\000B";color:black'> </span><span style='font-size:9.0pt;
font-family:宋体;mso-ascii-font-family:"\000B";mso-hansi-font-family:"\000B";
color:black'>代码模块(</span><span lang=EN-US style='font-size:9.0pt;font-family:
"\000B";color:black'>.bas</span><span style='font-size:9.0pt;font-family:宋体;
mso-ascii-font-family:"\000B";mso-hansi-font-family:"\000B";color:black'>)的声明部分中的</span><span
style='font-size:9.0pt;font-family:"\000B";color:black'> </span><span
style='font-size:9.0pt;font-family:宋体;mso-ascii-font-family:"\000B";
mso-hansi-font-family:"\000B";color:black'>‘</span><span lang=EN-US
style='font-size:9.0pt;font-family:"\000B";color:black'>Public</span><span
style='font-size:9.0pt;font-family:宋体;mso-ascii-font-family:"\000B";
mso-hansi-font-family:"\000B";color:black'>’</span><span style='font-size:
9.0pt;font-family:"\000B";color:black'> </span><span style='font-size:9.0pt;
font-family:宋体;mso-ascii-font-family:"\000B";mso-hansi-font-family:"\000B";
color:black'>应用程序中的每一处</span><span lang=EN-US style='font-size:9.0pt;
font-family:"\000B";color:black'> <br>
<br>
<br>
</span><span style='font-size:9.0pt;font-family:宋体;mso-ascii-font-family:"\000B";
mso-hansi-font-family:"\000B";color:black'>在</span><span lang=EN-US
style='font-size:9.0pt;font-family:"\000B";color:black'> Visual Basic </span><span
style='font-size:9.0pt;font-family:宋体;mso-ascii-font-family:"\000B";
mso-hansi-font-family:"\000B";color:black'>的应用程序中,只有当没有其它方便途径在窗体之间共享数据时才使用全局变量。当必须使用全局变量时,在一个单一模块中声明它们,并按功能分组。给这个模块取一个有意义的名称,以指明它的作用,如</span><span
lang=EN-US style='font-size:9.0pt;font-family:"\000B";color:black'> Public.bas</span><span
style='font-size:9.0pt;font-family:宋体;mso-ascii-font-family:"\000B";
mso-hansi-font-family:"\000B";color:black'>。</span><span lang=EN-US
style='font-size:9.0pt;font-family:"\000B";color:black'><br>
<br>
</span><span style='font-size:9.0pt;font-family:宋体;mso-ascii-font-family:"\000B";
mso-hansi-font-family:"\000B";color:black'>较好的编码习惯是尽可能写模块化的代码。例如,如果应用程序显示一个对话框,就把要完成这一对话任务所需要的所有控件和代码放在单一的窗体中。这有助于将应用程序的代码组织在有用的组件中,并减小它运行时的开销。</span><span
lang=EN-US style='font-size:9.0pt;font-family:"\000B";color:black'><br>
<br>
</span><span style='font-size:9.0pt;font-family:宋体;mso-ascii-font-family:"\000B";
mso-hansi-font-family:"\000B";color:black'>除了全局变量(应该是不被传递的),过程和函数应该仅对传递给它们的对象操作。在过程中使用的全局变量应该在过程起始处的声明部分中标识出来。此外,应该用</span><span
lang=EN-US style='font-size:9.0pt;font-family:"\000B";color:black'> ByVal </span><span
style='font-size:9.0pt;font-family:宋体;mso-ascii-font-family:"\000B";
mso-hansi-font-family:"\000B";color:black'>将参数传递给</span><span lang=EN-US
style='font-size:9.0pt;font-family:"\000B";color:black'> Sub </span><span
style='font-size:9.0pt;font-family:宋体;mso-ascii-font-family:"\000B";
mso-hansi-font-family:"\000B";color:black'>过程及</span><span lang=EN-US
style='font-size:9.0pt;font-family:"\000B";color:black'> function </span><span
style='font-size:9.0pt;font-family:宋体;mso-ascii-font-family:"\000B";
mso-hansi-font-family:"\000B";color:black'>过程,除非明显地需要改变已传递的参数值。</span><span
lang=EN-US style='font-size:9.0pt;font-family:"\000B";color:black'><br>
<br>
</span><span style='font-size:9.0pt;font-family:宋体;mso-ascii-font-family:"\000B";
mso-hansi-font-family:"\000B";color:black'>变量范围前缀</span><span lang=EN-US
style='font-size:9.0pt;font-family:"\000B";color:black'><br>
</span><span style='font-size:9.0pt;font-family:宋体;mso-ascii-font-family:"\000B";
mso-hansi-font-family:"\000B";color:black'>随着工程大小的增长,划分变量范围的工作也迅速增加。在类型前缀的前面放置单字母范围前缀标明了这种增长,但变量名的长度并没有增加很多。</span><span
lang=EN-US style='font-size:9.0pt;font-family:"\000B";color:black'><br>
<br>
</span><span style='font-size:9.0pt;font-family:宋体;mso-ascii-font-family:"\000B";
mso-hansi-font-family:"\000B";color:black'>范围</span><span style='font-size:
9.0pt;font-family:"\000B";color:black'> </span><span style='font-size:9.0pt;
font-family:宋体;mso-ascii-font-family:"\000B";mso-hansi-font-family:"\000B";
color:black'>前缀</span><span style='font-size:9.0pt;font-family:"\000B";
color:black'> </span><span style='font-size:9.0pt;font-family:宋体;mso-ascii-font-family:
"\000B";mso-hansi-font-family:"\000B";color:black'>例子</span><span lang=EN-US
style='font-size:9.0pt;font-family:"\000B";color:black'> <br>
</span><span style='font-size:9.0pt;font-family:宋体;mso-ascii-font-family:"\000B";
mso-hansi-font-family:"\000B";color:black'>全局</span><span lang=EN-US
style='font-size:9.0pt;font-family:"\000B";color:black'> g gstrUserName <br>
</span><span style='font-size:9.0pt;font-family:宋体;mso-ascii-font-family:"\000B";
mso-hansi-font-family:"\000B";color:black'>模块级</span><span lang=EN-US
style='font-size:9.0pt;font-family:"\000B";color:black'> m mblnCalcInProgress <br>
</span><span style='font-size:9.0pt;font-family:宋体;mso-ascii-font-family:"\000B";
mso-hansi-font-family:"\000B";color:black'>本地到过程</span><span style='font-size:
9.0pt;font-family:"\000B";color:black'> </span><span style='font-size:9.0pt;
font-family:宋体;mso-ascii-font-family:"\000B";mso-hansi-font-family:"\000B";
color:black'>无</span><span lang=EN-US style='font-size:9.0pt;font-family:"\000B";
color:black'> dblVelocity <br>
<br>
<br>
</span><span style='font-size:9.0pt;font-family:宋体;mso-ascii-font-family:"\000B";
mso-hansi-font-family:"\000B";color:black'>如果一个变量在标准模块或窗体模块中被声明为</span><span
lang=EN-US style='font-size:9.0pt;font-family:"\000B";color:black'> Public</span><span
style='font-size:9.0pt;font-family:宋体;mso-ascii-font-family:"\000B";
mso-hansi-font-family:"\000B";color:black'>,那么该变量具有全局范围。如果一个变量在标准模块或窗体模块中被分别声明为</span><span
lang=EN-US style='font-size:9.0pt;font-family:"\000B";color:black'> Private</span><span
style='font-size:9.0pt;font-family:宋体;mso-ascii-font-family:"\000B";
mso-hansi-font-family:"\000B";color:black'>,那么该变量有模块级范围。</span><span
lang=EN-US style='font-size:9.0pt;font-family:"\000B";color:black'><br>
<br>
</span><span style='font-size:9.0pt;font-family:宋体;mso-ascii-font-family:"\000B";
mso-hansi-font-family:"\000B";color:black'>注意</span><span lang=EN-US
style='font-size:9.0pt;font-family:"\000B";color:black'> </span><span
style='font-size:9.0pt;font-family:宋体;mso-ascii-font-family:"\000B";
mso-hansi-font-family:"\000B";color:black'>一致性是卓有成效地使用这种技术的关键;</span><span
lang=EN-US style='font-size:9.0pt;font-family:"\000B";color:black'>Visual
Basic </span><span style='font-size:9.0pt;font-family:宋体;mso-ascii-font-family:
"\000B";mso-hansi-font-family:"\000B";color:black'>中的语法检查器不会捕捉以</span><span
lang=EN-US style='font-size:9.0pt;font-family:"\000B";color:black'>
"p." </span><span style='font-size:9.0pt;font-family:宋体;mso-ascii-font-family:
"\000B";mso-hansi-font-family:"\000B";color:black'>开头的模块级变量。</span><span
lang=EN-US style='font-size:9.0pt;font-family:"\000B";color:black'><br>
<br>
</span><span style='font-size:9.0pt;font-family:宋体;mso-ascii-font-family:"\000B";
mso-hansi-font-family:"\000B";color:black'>常量</span><span lang=EN-US
style='font-size:9.0pt;font-family:"\000B";color:black'><br>
</span><span style='font-size:9.0pt;font-family:宋体;mso-ascii-font-family:"\000B";
mso-hansi-font-family:"\000B";color:black'>常量名的主体是大小写混合的,每个单词的首字母大写。尽管标准</span><span
lang=EN-US style='font-size:9.0pt;font-family:"\000B";color:black'> Visual
Basic </span><span style='font-size:9.0pt;font-family:宋体;mso-ascii-font-family:
"\000B";mso-hansi-font-family:"\000B";color:black'>常量不包含数据类型和范围信息,但是象</span><span
lang=EN-US style='font-size:9.0pt;font-family:"\000B";color:black'> i</span><span
style='font-size:9.0pt;font-family:宋体;mso-ascii-font-family:"\000B";
mso-hansi-font-family:"\000B";color:black'>、</span><span lang=EN-US
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -