zoukankan      html  css  js  c++  java
  • VB6编码规范

    给项目组写的VB6编码规范

    ----

    VB6编码规范


    为了便于维护和开发,以及后续的维护人员少走弯路,制订此编码规范。
    本规范为娱乐版规范。


    在阅读编码规范之前,先思考下面几个问题,如果不知道答案,请上网搜索,这样有助
    于加深记忆
    1. Dim i, j, k As Integer和Dim i As Interger, j As Interger, k As Interger有
    何区别?
    2. Option Explicit的含义是什么?
    3. Sub和Function的区别?
    4. 在一个模块(Modula)中,Dim、Private、Public申明的变量有何区别?
    5. 什么情况下使用属性Property?


    VB6规范正式出场:
    1. Dim i, j, k, l As Integer
    k说:我有2个爱好
    一是和其他变量站在同一行
    二是穿上variant的外套,逢人就问“猜猜我是谁”
    ps:每行只申明一个变量
    2. Mid$与Mid。这是一对孪生兄弟,返回值的类型不同。虽然有人说Mid$比Mid快,但
    实际的速度差不多。另外,考虑到VB代码升级到VB.NET的过程中,VB和VB.NET代码会共
    存一段时间,不带$的版本更便于代码比较。所以使用Mid这种不带$的版本即可。
    3. Dim f as Form
    f=new Form1
    f.DoWork
    f=new Form2
    f.DoOtherWork
    f说:f1, f2,傻傻分不清楚,其实我像F4
    ps:定义变量时,尽量使用明确的类型
    4. Option Explicit大叔说:查户口,查户口,没有户口的都去昌平挖沙子;但是微软
    不让我主动出击,你请我查户口,我才查户口
    ps:在每个文件的开头,写上“Option Explicit”
    或者Tools->Option->Editor->Require Variable Declaration 前面打勾
    5. Function foo()
    If ... Then
    Function = CInt(1)
    Else If ...
    Function = "I'm a String"
    Else If ...
    ...
    End If
    End Function
    foo说:Jolin的《看我72变》是从我这里获取的灵感,至于你们信不信,我反
    正是信了。不信的话,我变给你看
    ps:有返回值的函数,要明确定义返回值的类型
    6. Sub说:Hi,我是Function 72变之一,我最大的特点是吃葡萄不吐葡萄皮
    ps:没有返回值的函数,使用Sub进行定义
    7. sql语句较长,需要分开写在多行时,每行的开头和结尾都加一个空格,以减少出
    错,如" select * from "
    8. sql="select * from table where name=" & userName
    数据库说:缓存一直被刷新,从未被使用。要想快,请走VIP通道。
    黑客说:连SQL注入都不能防范的代码,是对我的能力的侮辱。
    ps:sql语句中的变量,尽量使用参数化的方式,而不要直接拼字符串——无
    论从性能的角度,还是安全的角度
    9. 不要重复发明轮子。需要实现一个功能之前,先查找现有的代码
    10. 将经常用到的功能写成模块,提高程序的通用性和易维护性


    工具:
    夫欲善其事,必先利其器。好的工具,会极大地提高工作效率,省下来的时间上微博挖
    8g多好
    1. 安装VB6 SP6
    2. 安装CodeSMART 2009。


    VB6会自动改变变量的大小写,所以,务必使用以下流程:
    1. 备份代码
    2. 编写代码、修改bug
    3. 用CodeSmart的Review功能检查代码
    4. 用Beyond Compare比较代码,将VB6自动改变大小写的变量改回来
    5. 提交代码到CVS、SVN、CC等代码管理服务器上


    参考资料:
    VB6 编码规范
    http://www.360doc.com/content/06/0822/10/6002_187392.shtml
    http://www.bianceng.cn/VBjc/jyjq/jy1.htm
    VB6 SP6
    http://www.microsoft.com/downloads/zh-cn/details.aspx?FamilyID=9ef9bf70-
    dfe1-42a1-a4c8-39718c7e381d&DisplayLang=zh-cn
    VB6 SP6累积更新
    http://support.microsoft.com/kb/957924/en-us
    CodeSMART功能介绍
    http://www.axtools.com/products-codesmart-vb6.php
    使用绑定变量的方法(Oracle SQL共享的机制)
    http://blog.csdn.net/yspoplar/article/details/5904644

  • 相关阅读:
    电路分析
    python-字典
    python-异常
    python-抽象类和抽象方法
    pyqt5-QAbstractScrollArea滚动条
    python-类的继承
    python-语言播报
    pyqt5-QFrame边框样式
    流媒体技术学习笔记之(三)Nginx-Rtmp-Module统计某频道在线观看流的客户数
    让你的 Nginx 的 RTMP 直播具有统计某频道在线观看用户数量的功能
  • 原文地址:https://www.cnblogs.com/ols/p/2143304.html
Copyright © 2011-2022 走看看