vb.net程序设计规范(2)

本文详细介绍了VB.NET编程中变量、函数、类的命名规范,并提供了对象取值、数据集使用、文本框处理等方面的最佳实践。
 
vb.net程序设计规范(2)
 
4.2 变量和常数命名规范
         array                                      arr                                          arrShoppingList
         Boolean                                bln                                         blnIsPostBack
         Byte                                      byt                                         bytpixelValue
         Char                                      chr                                         chrDelimiter
         DateTime                              dtm                                        dtmStartDate
         Decimal                                 dec                                        decAverageHeight
         Double                                  dbl                                         dblSizeOfUniverse
         Interger                                 int                                          intRowCounter
         Long                                     lng
         Object                                   obj
         Short                                     shr
         Single                                    sng
         String                                    str
 
4.3 函数过程命名规范
4.3.1统一的单词顺序::动词+名次
4.3.2单词的首个字母大写并且名称应该能表达出它们的用途(或者说是意义)。
4.3.3        参数需要指明ByVal还是ByRef(参数是按值传递还是按地址传递)
 
4.4     类命名规范
                         i.              Class声明的类,都必须以名词或名词短语命名,体现类的作用
                        ii.              当类是一个特性(Attribute)时,以Attribute结尾,当类是一个异常(Exception)时,以Exception结尾:
Class ColorSetException
Class CauseExceptionAttribute
                      iii.              当类只需有一个对象实例(全局对象,比如Application等),必须以Class结尾,如
Class ScreenClass
Class SystemClass
                      iv.              当类只用于作为其他类的基类,根据情况,以Base结尾:
MustInherit Class IndicatorBase
                        v.              如果定义的类是一个窗体,那么名字的后面必须加后缀Form,如果是Web窗体,必须加后缀Page
Class PrintForm : Inherits Form '* Windows窗体
Class StartPage : Inherits Page '* Web窗体
                      vi.              模块不是类型,他的名称除了必须以名词命名外,必须加以后缀Module
:Module SharedFunctionsModule
 设计规范:
5.1对象取值赋给变量或者控件时需要判断对象是否为nothing 例:
                Ifnot Customer isNothingThen
               Else
                   ' Missing customer data is handled by the account and logon pages
           EndIf
5.2   在使用dataset 对象时 用有意义的常量代替无意义的值 例:
正确的:   With Customer.Tables(CustomerData.CUSTOMERS_TABLE).Rows(0)
                        TxtEmail.Text = CStr(.Item(CustomerData.EMAIL_FIELD))
 EndWith
           错误的:With Customer.Tables(0).Rows(0)
TxtEmail.Text = CStr(.Item(0))
TxtEmail.Text = CStr(.Item(Email))
EndWith
5.3 取文本框数值的时候需要去除多余的空格例:
tmpPassword = CountryTextBox.Text.Trim()
 
5.4       两层嵌套以上的 if else end if 考虑使用 select case 语句 例:
            错误的:if DataGrid1.Items(i).Cells(4).Text = "0" Then
                    ElseIf DataGrid1.Items(i).Cells(4).Text = "1" Then
                    ElseIf DataGrid1.Items(i).Cells(4).Text = "2" Then
                        DataGrid1.Items(i).Cells(4).Text = "已培训"
End If
         正确的: select Case DataGrid1.Items(i).Cells(4).Text
                                 case 1
                                 case 2
                                 case 3
                            case Else
                    end select
5.5       Insert 语句的正确格式:Insert [into] TableName                 (FieldName1,FieldName2),values( value1,value2) 
错误的格式: Insert [into] TableName Values (value1, value2)
         方便表的扩充
         56 所有的操作要有快捷键,支持键盘操作
        5.7 do……loop 循环代替 while…… end while 循环
5.8不要用boolean表达式与ture false比较
 不正确的用法:isEmptyRecordset= (rs.eof= ture) and( rst.eof=tuue)
       正确的用法: isEmptyRecordset= rs.eof and rst.eof
                if not (blnValidTemplate). Then
5.9即使表达式不需要圆括号,为了逻辑清晰也要加上圆括号
5.10 使用统一和直接明了的方式调用过程
     调用sub过程要使用call 关键字(区别于没有返回值的函数调用)
                             不正确的用法 performWordMerge(strMergeFile)
                           正确的用法:call performWordMerge(strMergeFile)
5.11 即使没有返回值的函数也要始终接受函数的返回值
5.12使用return 返回函数值
        不正确地用法:priavire function myFunction () as Boolean
                                                     myFunction =true
                                                end sub
        正确地用法:priavire function myFunction () as Boolean
                                                     return true
                                                end sub
5.13常量的编程规则
所有的常量前面加上前缀C_和范围指示符
例如:过程中   const c_InterestRate=6
         模块中(privateprivate Const mc_IntersRate=6
               全局:    public Const gc_intersRate=5 
5.14决不要用+做字符串的连接符,要使用&符号
5.15用空白行把相关的语句分组
  if …..then ,select case 结构每个循环体的前后插入空白行
   在声明一组变量后,执行同一任务的语句组之后插入空白行
过程之间插入两个空白行
5.16给每个过程定义一个明确的范围
   不正确地用法:sub disp;lay confiirmationmessage
                                           end sub
   正确地用法:public sub disp;lay confiirmationmessage
                                               end sub
…………………….还有N都是自己在实际编程中的经验教训不在列举了,希望大家也能总结一下作为自己的规范
 
源码来自:https://pan.quark.cn/s/fdd21a41d74f 正方教务管理系统成绩推送 简介 使用本项目前: 早晨睡醒看一遍教务系统、上厕所看一遍教务系统、刷牙看一遍教务系统、洗脸看一遍教务系统、吃早餐看一遍教务系统、吃午饭看一遍教务系统、睡午觉前看一遍教务系统、午觉醒来看一遍教务系统、出门前看一遍教务系统、吃晚饭看一遍教务系统、洗澡看一遍教务系统、睡觉之前看一遍教务系统 使用本项目后: 成绩更新后自动发通知到微信 以节省您宝贵的时间 测试环境 正方教务管理系统 版本 V8.0、V9.0 如果你的教务系统页面与下图所示的页面完全一致或几乎一致,则代表你可以使用本项目。 目前支持的功能 主要功能 每隔 30 分钟自动检测一次成绩是否有更新,若有更新,将通过微信推送及时通知用户。 相较于教务系统增加了哪些功能? 显示成绩提交时间,即成绩何时被录入教务系统。 显示成绩提交人姓名,即成绩由谁录入进教务系统。 成绩信息按时间降序排序,确保最新的成绩始终在最上方,提升用户查阅效率。 计算 计算百分制 对于没有分数仅有级别的成绩,例如”及格、良好、优秀“,可以强制显示数字分数。 显示未公布成绩的课程,即已选课但尚未出成绩的课程。 使用方法 Fork 本仓库 → 开启 工作流读写权限 → → → → → 添加 Secrets → → → → → → Name = Name,Secret = 例子 程序会自动填充 尾部的 ,因此你无需重复添加 对于部分教务系统,可能需要在 中添加 路径,如: 开启 Actions → → → 运行 程序 → → 若你的程序正常运行且未报错,那么在此之后,程序将会每隔 30 分钟自动检测一次成绩是否有更新 若你看不懂上述使用...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值