欢 迎 光 临 数据载入中,请稍候......'s BLog
数据载入中,请稍候......
这就是我
数据载入中,请稍候......
用户登陆
数据载入中,请稍候......
最新公告
数据载入中,请稍候......
站点日历
数据载入中,请稍候......
最新日志
数据载入中,请稍候......
最新回复
数据载入中,请稍候......
最新留言
数据载入中,请稍候......
 日志搜索

友情链接
其他信息


·编程规范      -|cloudy 发表于 2006-11-19 12:15:00

发布日期:2005年1月28日

作    者:竹笛

正    文:在VBA代码设计中,编程规范相当重要,下面是我查阅的一些相关资料,就其中较好的两篇推荐给大家:

参考资料一:匈牙利命名法
  匈牙利命名法是一名匈牙利程序员发明的,而且他在微软工作了多年。此命名法就是通过微软的各种产品和文档传出来的。多数有经验的程序员,不管他们用的是哪门儿语言,都或多或少在使用它

  这种命名法的基本原则是:
              变量名=属性+类型+对象描述

即一个变量名是由三部分信息组成,这样,程序员很容易理解变量的类型、用途,而且便于记忆。
    下边是一些推荐使用的规则例子,你可以挑选使用,也可以根据个人喜好作些修改再用之。

⑴属性部分:
   全局变量:     g_
   常量    :     c_
   类成员变量:   m_

⑵类型部分:
指针:        p
句柄:        h
布尔型:      b
浮点型:      f   
无符号:      u

⑶描述部分:
初始化:    Init
临时变量:  Tmp
目的对象:  Dst
源对象:    Src
窗口:      Wnd

下边举例说明:

hwnd: h表示句柄,wnd表示窗口,合起来为“窗口句柄”。
m_bFlag:  m表示成员变量,b表示布尔,合起来为:“某个类的成员变量,布尔型,是一个状态标志”。

参考资料二:程序命名规范
1、控件命名规则一般为前缀+字段名
例如  字段Title,在界面中的控件为textbox 命名为txtTitle
下列为各种控件所统一的前缀

textbox   txt
DropDownList1  drp
ListBox   lst
DataGrid  dag
DataList  Dal
CheckBox  ckb
RadioButtonList  rad
Repeater  rep
Image   img
Button   btn


2、按钮命名规则
按钮命名一般为前缀btn+动作名称
几种常用按钮命名
保存  btnSave
重置  btnReset
查询   btnSearch
修改  btnEdit
添加  btnAdd
删除  btnDelete

3、编码约定
目前,中勤在线已正常运作三年有余,程序员由九七级本科生延续至现在的零二级,各个年级的程序员编码的熟悉程度和编码的方式各不一致,以至于程序编码五花八门,严格的说,从目前中勤在线的网站后台程序编码总体来看,中勤在线还停留在个人网站的水准上,看不出一个教育类大型网站的应有的水准,因此,我们的程序员必须统一编码方式,原因其一,可以体现出整个网站的整体性;其二,可以提高程序的可阅读性,方便下一阶段的程序员修改更新程序。以下为具体内容:
(1)变量先定义后使用;
(2)首字大写,尽量采用英语描述,不宜采用拼音描述;
(3)变量命名基本采用匈牙利命名法则;
匈牙利命名法则基本原则是:
变量名=属性 + 类型 + 对象描述
即一个变量名由三部分信息组成,这样,程序员很容易理解变量的类型、用途,而且便于记忆。
下边是根据我站一些推荐使用的规则例子(详细命名规则请参看匈牙利命名规则):
·属性部分
全局变量:         g_
常  量:         c_
·类型部分
 指  针:         p_
 句  柄:         h_
 整  型:         i_
 浮 点 型:         f_
 日 期 型:         d_
 布 尔 型:         b_
 字 符 型:         s_
数 组 型:         ary_
·描述部分
 初 始 化:         Init
 临时变量:         Tmp
其中部分规则考虑到将来.net发展的c# 变量命名规则,在Asp中可不考虑。
参考实例:c_i_InitBorderColor、g_s_TmpNewsTitle、g_i_ary_VoteNum,程序员可根据实际情况梢做改动,但必须遵循匈牙利命名法则,能够使其他程序员看变量名便知其类型和属性等关键标识符意义;
(4)所有控件的属性值都要使用双引号或者单引号包括起来;
(5)控件的命名规则:
  Button:          btn
Form:          frm
Select:          sel
Textarea:         txt
Input:           ipt
  Hidden:          hid
(6)各控件主要使用规则:
  ·img控件
alt:所有展示类图片都要具有能简要描述图片内容的文字说明。
·Input控件
maxlength:所有Input控件都需要制定maxlength属性,默认值为数据库中对应的字段的长度。
readonly:所有不可更改的信息都要使用readonly属性。
·Form控件
action:所有Form都要指定action,如果提交给本身就指定action=""
method:尽量使用post方式
onsubmit:所有form都要指定提交前需要的检查程序。
所有form都要有对应的reset button。
·Button控件
onclick:form中用于提交的button不容许使用此方法,所有数据检查通过form的onsubmit激活。
·head属性
所有页面都要具有不为空的head属性。
·所有中文页面都要加上如下语句:
<meta http-equiv="Content-Language" content="zh-cn">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

4、数据库设计
程序员在进行数据库设计前应先仔细阅读由市场部做的各项分析文档(包括可行性分析,需求分析等),查看由信息部拟订的项目所需功能列表后,仔细斟酌后进行数据库初步设计,设计完后提交数据库设计报表。详细规范如下:
·所有表必须以字符“t”(table)开头,如表tUsers,tAffriches,tMessages等等;
·所以字段必须以字符“f”(field)开头,如字段fID,fName,fTitle等等;
·较重要表中,最少创建2个预留字段,命名为fPre_Int (数字型),fPre_Str (字符型);
·设计Access数据库应有较长数据库文件名,或者与网络部协商,做成ODBC连接,防止数据库被非法下载。
·设计SQL Server数据库还应备份数据库创建SQL脚本,即备份数据库结构。
数据库设计基本

5、文件夹设置
随着中勤在线的发展,其栏目设置越来越多,经过三年的开发,现已有十多个栏目,各个栏目均由不同人员开发,各栏目文件夹的设置也是七临八乱,不成规矩,很难让别的开发人员一目了然其栏目结构。因此为了更加规范程序和页面文件夹的设置,现规定如下:
·必须设有Connections文件夹,存放数据库连接文件;
·必须设有Inc文件夹,存放包含文件和其他页面调用程序;
·必须设有Images文件夹,存放图片文件;
·必须设有Css文件夹,存放样式表文件;
·必须设有Doc文件夹,存放开发文档;
·必须设有Original Files文件夹,存放图片源文件;
·必须设有Js文件夹,存放脚本文件;
·在有上传功能的栏目中,必须设有Upload文件夹,存放上传的图片及文件;
·Asp.net栏目中,必须设置Source文件夹,存放程序C#或者Vb.net源文件;
·Asp.net栏目中,必须设置Bin文件夹,存放动态连接库文件;
·使用SQL Server库栏目中,必须设置Sql文件夹,存放数据库结构SQL脚本文件;
·必须设置Backup文件夹,存放更新前的备份文件。

6、注释与缩进
在过去的开发中,中勤在线使用的大部分为Asp脚本语言,此语言程序与页面嵌套在一起,通常被称为“意大利面条”式代码,所以阅读程序往往很费时间,在.net开发中,出现了CodeBehind技术可将代码和页面分开,在一定程度上可以减轻程序员的负担,但是要让程序更快的阅读代码,还必须在适当的部分添加注释,并且请合理采用代码缩进,在模块与模块之间,循环区块,条件区块等等都应该使用代码缩进,缩进一级为两个半角空格。

7、安全与调试
开发后期,程序员还担负着代码的调试和漏斗检测任务,其中就包括如下内容
·所有页面要在800*600,1024*768两种分辨率下运行通过;
·所有页面要在IE5.0,5.5以及6.0下运行通过没有javascript错误;
·所有涉及删除的操作,在用户选定以后都要再进行一次确认操作;
·检查Sql漏洞,以及每个传递参数,排除入侵可能性;
·开发完毕后必须挂在工作机房调试经内部调试一周方可正式发布;

参考文章地址:http://www.csdn.com.cn/program/6305.htm
              http://www.cnblogs.com/LCX

http://www.accessoft.com/Article_Show.asp?ArticleID=357

[阅读全文 | 回复(0) | 引用通告 | 编辑]

  • 标签:ASP Access 
  • 发表评论:
    数据载入中,请稍候......