⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 edu1.htm

📁 一本关于如何养成良好编程风格的书籍
💻 HTM
📖 第 1 页 / 共 5 页
字号:
<P ALIGN="JUSTIFY">正确:</P><P ALIGN="JUSTIFY">Const c_txtHomePhone=0</P><P ALIGN="JUSTIFY">Const c_txtWorkPhone=1</P><P ALIGN="JUSTIFY">Const c_txtFax=2</P><P ALIGN="JUSTIFY"></P><P ALIGN="JUSTIFY">txtPhone(c_txtHomePhone).Text</P><P ALIGN="JUSTIFY">txtPhone(c_txtWorkPhone).Text</P><P ALIGN="JUSTIFY">txtPhone(c_txtFax).Text</P></DIR></DIR></DIR><P ALIGN="JUSTIFY"> (5)将应用程序前缀或公司特定的前缀用于枚举成员</P><DIR><DIR><DIR><P ALIGN="JUSTIFY">      不必用前缀来表示枚举成员的类型,因为所有成员总是属于长整型数。但应该使用专门的前缀来表示它的值来自应用程序或组件。</P><P ALIGN="JUSTIFY">        应该用一个指示符作为枚举成员的前缀,因为当vb遇到一个枚举成员名时,如果其他被引用的类型库中包含相同的名字,它就会搞混。</P><P ALIGN="JUSTIFY">        本公司编程过程中,所有的枚举元素项目应以小写fl(公司名称拼音首字)来命名。</P></DIR></DIR></DIR><P ALIGN="JUSTIFY">(6)若要了解键入的系统常量是否正确,方法之一是全部用小写字母键入该常量。如果该常量有效,vb就会将它转换成正确的大小写字母。如果该常量仍然保持全部为小写字母,就表示键入的名字不正确,必须进行纠正。</P><P ALIGN="JUSTIFY">(7)当参数接受有限数量的值时,请使用枚举</P><DIR><DIR><DIR><P ALIGN="JUSTIFY">在某些情况下使用枚举给人一种杀鸡用牛刀的感觉。一般说来,每当一个过程接受有限数量的一组值时,请使用枚举。</P><P ALIGN="JUSTIFY">为两个值创建一个枚举似乎是多余的,但实际上并非如此。你仍然会得到避免幻数的好处,比如减少数据输入量,提高可理解度。</P></DIR></DIR></DIR><P ALIGN="JUSTIFY">(8)使用Select Case结构时,始终要加上一个Else子句,以便处理传递给过程的有效值。</P><OL TYPE="a"><OL TYPE="a"><P ALIGN="JUSTIFY"><LI>始终应通过与已命名枚举成员比较,而不是与幻数进行比较来验证数据。</LI></P><P ALIGN="JUSTIFY"><LI>使用Select Case来验证一个值是一组离散值的一个有效成员。不要忘记加上Case Else子句,以便处理无效数据。</LI></P></OL></OL></FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY"></P></FONT><FONT FACE="宋体" LANG="ZH-CN"><P ALIGN="CENTER"> </P></FONT><FONT FACE="黑体" LANG="ZH-CN" SIZE=4><P ALIGN="CENTER">变量</P></FONT><FONT FACE="宋体" LANG="ZH-CN"><P ALIGN="JUSTIFY">1、定义有焦点的变量</P><P ALIGN="JUSTIFY">用于多个目的的变量称为无焦点(多焦点)的变量。无焦点变量所代表的意义与程序的执行流程有关,当程序处于不同位置时,它所表示的意义是不固定的,这样就给程序的可读性和可维护性带来了麻烦。</P><P ALIGN="JUSTIFY">比如:定义一个名为rs的RecordSet变量,先用这个变量取得了医院员工数据,之后又用同一个变量名取得了住院病人数据,那么单独抽取出一句使用了变量rs的语句,如果只凭这一句、不从头读起的话,很知道这句话究竟使用的是哪个表的数据。这给程序的阅读和维护带来了不必要的难度。</P><P ALIGN="JUSTIFY"></P><P ALIGN="JUSTIFY">  2、只对常用变量名和长变量名进行缩写</P><P ALIGN="JUSTIFY">如果需要对变量名进行缩写时,一定要注意整个代码中缩写规则的一致性。例如,如果在代码的某些区域中使用Cnt,而在另一些区域中又使用Count,就会给代码增加不必要的复杂性。</P><P ALIGN="JUSTIFY">我们规定,变量名中尽量不要出现缩写,确需缩写的必须向开发部管理人员提出书面申请,经确认后方可使用缩写。</P><P ALIGN="JUSTIFY"></P><P ALIGN="JUSTIFY">   3、使用统一的量词</P><P ALIGN="JUSTIFY">通过在结尾处放置一个量词,就可创建更加统一的变量,它们更容易理解,也更容易搜索。例如,请使用strCustomerFirst和strCustomerLast,而不要使用strFirstCustomer和strLastCustomer。</P><P ALIGN="JUSTIFY"></P><P ALIGN="JUSTIFY">量词列表:</P></FONT><TABLE BORDER CELLSPACING=1 WIDTH=418><TR><TD WIDTH="30%" VALIGN="MIDDLE" HEIGHT=19><B><FONT FACE="黑体" LANG="ZH-CN"><P ALIGN="JUSTIFY">量词后缀</B></FONT></TD><TD WIDTH="70%" VALIGN="MIDDLE" HEIGHT=19><B><FONT FACE="黑体" LANG="ZH-CN"><P ALIGN="JUSTIFY">说明</B></FONT></TD></TR><TR><TD WIDTH="30%" VALIGN="MIDDLE" HEIGHT=19><I><FONT FACE="宋体" LANG="ZH-CN"><P ALIGN="JUSTIFY">First</I></FONT></TD><TD WIDTH="70%" VALIGN="MIDDLE" HEIGHT=19><FONT FACE="宋体" LANG="ZH-CN"><P ALIGN="JUSTIFY">一组变量中的第一个</FONT></TD></TR><TR><TD WIDTH="30%" VALIGN="MIDDLE" HEIGHT=19><I><FONT FACE="宋体" LANG="ZH-CN"><P ALIGN="JUSTIFY">Last</I></FONT></TD><TD WIDTH="70%" VALIGN="MIDDLE" HEIGHT=19><FONT FACE="宋体" LANG="ZH-CN"><P ALIGN="JUSTIFY">一组变量中的最后一个</FONT></TD></TR><TR><TD WIDTH="30%" VALIGN="MIDDLE" HEIGHT=19><I><FONT FACE="宋体" LANG="ZH-CN"><P ALIGN="JUSTIFY">Next</I></FONT></TD><TD WIDTH="70%" VALIGN="MIDDLE" HEIGHT=19><FONT FACE="宋体" LANG="ZH-CN"><P ALIGN="JUSTIFY">一组变量中的下一个变量</FONT></TD></TR><TR><TD WIDTH="30%" VALIGN="MIDDLE" HEIGHT=21><I><FONT FACE="宋体" LANG="ZH-CN"><P ALIGN="JUSTIFY">Prev</I></FONT></TD><TD WIDTH="70%" VALIGN="MIDDLE" HEIGHT=21><FONT FACE="宋体" LANG="ZH-CN"><P ALIGN="JUSTIFY">一组变量中的上一个</FONT></TD></TR><TR><TD WIDTH="30%" VALIGN="MIDDLE" HEIGHT=19><I><FONT FACE="宋体" LANG="ZH-CN"><P ALIGN="JUSTIFY">Cur</I></FONT></TD><TD WIDTH="70%" VALIGN="MIDDLE" HEIGHT=19><FONT FACE="宋体" LANG="ZH-CN"><P ALIGN="JUSTIFY">一组变量中的当前变量</FONT></TD></TR></TABLE><FONT FACE="宋体" LANG="ZH-CN"><P ALIGN="JUSTIFY">   4、使用肯定形式的布尔变量</P><P ALIGN="JUSTIFY">给布尔变量命名时,始终都要使用变量的肯定形式,以减少其它开发人员在理解布尔变量所代表的意义时的难度。</P><P ALIGN="JUSTIFY"></P><P ALIGN="JUSTIFY">  5、为每个变量选择最佳的数据类型</P><P ALIGN="JUSTIFY">&#9;这样即能减少对内存的需求量,加快代码的执行速度,又会降低出错的可能性。用于变量的数据类型可能会影响该变量进行计算所产生的结果。在这种情况下,vb不会产生运行期错误,它只是迫使该值符合数据类型的要求。这类问题极难查找。</P><P ALIGN="JUSTIFY">&#9;例如:对可能会出现浮点数的变量,定义为整形或长整形会导致VB在运算时将该变量的值自动取整,这种VB自动进行、隐式的的操作会增大程序排错时的难度。</P><P ALIGN="JUSTIFY"></P><P ALIGN="JUSTIFY">   6、只有在绝对必要时才使用Variant数据类型</P><P ALIGN="JUSTIFY">Variant还存在其他缺陷。它们占用的内存比VB的任何其他数据类型都要多,而且对Variant中的数据进行操作时的速度几乎总是比对其他数据类型进行操作的速度要慢,另外变体类型还可能导致VB在程序运行过程中对数据类型进行自动转换。</P><P ALIGN="JUSTIFY">只有在确实不能预料变量的类型时才能使用Variant。</P><P ALIGN="JUSTIFY">注意:当你使用单个As﹤type﹥子句在同一个代码行上说明多个变量时,只有Dim语句中的最后一个变量被赋予特定数据类型。所有其他变量均被赋予Variant数据类型。因此要避免在同一行声明多个变量。</P><P ALIGN="JUSTIFY"></P><P ALIGN="JUSTIFY">   7、尽量缩小变量的作用域</P><P ALIGN="JUSTIFY">&#9;如果变量的作用域大于它应有的范围,变量可继续存在,并且在不再需要该变量后的很长时间内仍然占用资源。可惜,有些编程人员将全局变量视为解决问题的万应灵药,对它说明一次,便一直使用它。有些编程人员甚至将一个全局变量用于多个目的。</P><P ALIGN="JUSTIFY">它们的主要问题是,任何模块中的任何过程都能对它们进行修改,并且很难跟踪究竟是何处进行修改的。</P><P ALIGN="JUSTIFY">占用资源是作用域涉及的一个重要问题。如果创建全局的Recordset(记录集)变量,问题会复杂。对变量来说,尽量缩小作用域将会对应用程序的可靠性产生巨大的影响。</P><P ALIGN="JUSTIFY">  8、使用“&amp;”字符对字符串进行并置操作</P><P ALIGN="JUSTIFY">Dim strFirst  As String</P><P ALIGN="JUSTIFY">Dim strSecond As String</P><P ALIGN="JUSTIFY"></P><P ALIGN="JUSTIFY">strFrist = &quot;1&quot;</P><P ALIGN="JUSTIFY">strSecond =&quot;2&quot;</P><P ALIGN="JUSTIFY">    Debug.Print strFirst + strSecond</P><P ALIGN="JUSTIFY">将输出12。</P><P ALIGN="JUSTIFY">Dim strFirst  As String</P><P ALIGN="JUSTIFY">Dim sngSecond As Single</P><P ALIGN="JUSTIFY"></P><P ALIGN="JUSTIFY">strFrist = &quot;1&quot;</P><P ALIGN="JUSTIFY">sngSecond =&quot;2&quot;</P><P ALIGN="JUSTIFY">    Debug.Print strFirst + sngSecond</P><P ALIGN="JUSTIFY">输出的数字是3。</P><P ALIGN="JUSTIFY">“&amp;”字符能清楚的传达函数的意图,消除阅读者可能存在的疑点,使阅读者清楚地理解目前的操作是加法、还是字符串连接,并且不会因为类型的强制转换而产生不正确的结果。</P><P ALIGN="JUSTIFY"></P><DIR><P ALIGN="JUSTIFY">9.对需要用New关键字建立实例的变量,声明时不能使用New关键字,应该在使用它时用New创建实例,并且在完成操作后及时将它清除(Set … =Nothing)。</P><P ALIGN="JUSTIFY">例:</P><P ALIGN="JUSTIFY">错误:</P><P ALIGN="JUSTIFY">&#9;Dim rsCases as New ADODB.Recordset</P><P ALIGN="JUSTIFY">正确:</P><P ALIGN="JUSTIFY">&#9;Dim rsCases as ADODB.Recordset</P><P ALIGN="JUSTIFY">&#9;Set rsCase=New ADODB.Recordset</P><P ALIGN="JUSTIFY">&#9;Set rsCase=Nothing</P><P ALIGN="JUSTIFY"></P><DIR><DIR><DIR><DIR><DIR><DIR><DIR></FONT><FONT FACE="黑体" LANG="ZH-CN" SIZE=4><P ALIGN="JUSTIFY">代码的格式化</P></DIR></DIR></DIR></DIR></DIR></DIR></DIR></DIR><OL></FONT><FONT FACE="宋体" LANG="ZH-CN"><P ALIGN="JUSTIFY"><LI>对代码进行格式化时,要达到的目的包括:</LI></P><P ALIGN="JUSTIFY">通过代码分割成功能块和便于理解的代码段,使代码更容易阅读和理解;</P><P ALIGN="JUSTIFY">&#9;使用空行和注释行,将程序中逻辑上不相关的代码块分开。比如:变量声明部分和代码语句间的分隔;较长的过程中,完成不同功能的代码块间的分隔。要避免出现逻辑上混乱的分隔,如:某一逻辑功能代码块中间用空行进行了分隔,但是在相邻功能代码块之间却没有分隔,这样会给程序阅读者造成错觉。</P><P ALIGN="JUSTIFY">减少为理解代码结构而需要做的工作;</P><P ALIGN="JUSTIFY"></P><P ALIGN="JUSTIFY">使代码的阅读者不必进行假设;</P><P ALIGN="JUSTIFY">使代码结构尽可能做到格式清楚明了。</P><P ALIGN="JUSTIFY"></P><P ALIGN="JUSTIFY"><LI>编程原则:</LI></P><OL TYPE="a"><P ALIGN="JUSTIFY"><LI>不要将多个语句放在同一行上</LI></P><P ALIGN="JUSTIFY">不论是变量声明,还是语句都不要在一行上书写多个。</P><P ALIGN="JUSTIFY"><LI>使用行接续符</LI></P><P ALIGN="JUSTIFY">对较长语句,如API声明等,在代码窗体可视范围内给予换行,不要使别人必须通过滚动窗口才能查看到完整的代码。注意,当处理长字符串时,要使用 </P><P ALIGN="JUSTIFY"></P><P ALIGN="JUSTIFY">&quot;字符串1&quot; &amp;  _</P><P ALIGN="JUSTIFY">&quot;字符串2&quot; </P><P ALIGN="JUSTIFY"></P><P ALIGN="JUSTIFY">的格式。</P><P ALIGN="JUSTIFY"><LI>缩进后续行</LI></P><P ALIGN="JUSTIFY">当你将变量设置为某个值时,所有后续行的缩进位置应与第一行的变量值相同;</P><P ALIGN="JUSTIFY">当你调用一个过程时,后续行缩进到第一个参数的开始处;</P><P ALIGN="JUSTIFY">当你将变量或属性设置为等于表达式的计算结果时,请从后面分割该语句,以确保该表达式尽可能放在同一行上。</P><P ALIGN="JUSTIFY"><LI>在If语句后缩进;</LI></P><P ALIGN="JUSTIFY">   在Else语句后缩进</P><P ALIGN="JUSTIFY">   在Select Case语句后缩进</P><P ALIGN="JUSTIFY">在Case语句后缩进</P><P ALIGN="JUSTIFY">在Do语句后缩进</P><P ALIGN="JUSTIFY">已经用行接续符分割的语句的各个行要缩进</P><P ALIGN="JUSTIFY">在With语句后缩进。</P><P ALIGN="JUSTIFY">对从属于行标注的代码进行缩进。</P><P ALIGN="JUSTIFY"><LI>在执行统一任务的各个语句组之间插入一个空行。好的代码应由按逻辑顺序排列的进程或相关语句组构成。</LI></P></OL></OL></FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY"></P></FONT><FONT FACE="宋体" LANG="ZH-CN"><P ALIGN="JUSTIFY"> </P><DIR><DIR><DIR><DIR><DIR><DIR><DIR></FONT><FONT FACE="黑体" LANG="ZH-CN" SIZE=4><P ALIGN="JUSTIFY">代码的注释</P></DIR></DIR></DIR></DIR></DIR></DIR></DIR></FONT><FONT FACE="宋体" LANG="ZH-CN"><P ALIGN="JUSTIFY">使用代码注释的目的:</P><OL TYPE="a"><P ALIGN="JUSTIFY"><LI>用文字说明代码的作用(即为什么要用编写该代码,而不是如何编写);</LI></P><P ALIGN="JUSTIFY"><LI>明确指出该代码的编写思路和逻辑方法;</LI></P><P ALIGN="JUSTIFY"><LI>使人们注意到代码中的重要转折点;</LI></P><P ALIGN="JUSTIFY"><LI>使代码的阅读者不必在他们的头脑中仿真运行代码的执行过程.</LI></P></OL>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -