版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、匈牙利命名规则作者:软件工程精品课程来源:软件工程精品课程加入日期:2010/3/20点击率:441五、符号风格?总体要求对于各种符号的定义,都有一个共通点,就是应该使用有实际意义的英文单词或英文单词的缩写,不要使用简单但没有意义的字串,尽可能不使用阿拉伯数字,更切忌使用中文拼音的首字母。如这样的名称是不提倡的:value1,value2,value3,value4 。例如:file(文件),code(编号),data(数据),pagepoint(页面指针),fa xcode(传真号), address(地址),bank(开户专艮行),.变量名称变量命名由(前缀+修饰语)构成。现在比较流行的是
2、一套由微软的一个匈牙利软件工程师首先使用,并且在微软推广开来,现在被称之为匈牙利命名法的命名规则。匈牙利命名法规定,使用表示标识符所对应的变量类型的英文小写缩写作为标识符的前缀,后面在使用表示变量意义的英文单词或缩写进行命名。下面是匈牙利命名法中的一些命名方式:(1) 生存期修饰:用l(local)表示局域变量,p(public)表示全局变 量,s(send)表示参数变量(2) 类型修饰:用s(AnsiString) 表示字符串,c(char)表示字符,n (number)数值,i(intger)表示整数,d(double)表示双 精度 , f(float)浮点型,b(bool)布尔型,d(d
3、ate)表示日期型.例如:li_length 表示整形的局域变量 , 是用来标识长度的s_code表示字 符型的局域变量)用来标识代码.控件名称控件命名由(前缀+修饰语)构成。前缀即为控件的名称。按钮变量 Button+Xxxxxxx 例如:ButtonSave,ButtonExit,Butt onPrint等题标变量Label+Xxxxxxxx例如:LabelName,LabelSex 等 数据表变量 Table+Xxxxxx 例如:TableFile,TableCount 等查询变量 Query+Xxxxxx 例如:QueryFile,QueryCeneter 等数据源变量 DataSou
4、rce+Xxx 例如:DataSourceFileQataSourc eCenter 等 oooooooooooooooo(注:对于与表有关的控件“修饰语”部分最好直接用表名.Package的命名Package的名字应该都是由一个小写单词组成。.Class的命名Class的名字必须由一个或数个能表达该类的意思的大写字母开头而其它字母都小写的单词或缩写组成,这样能使这个Class的名称能更容 易被理解。.Class变量的命名 变量的名字必须用一个小写字母开头。后面的单词用大写字母开头。对 于类的成员变量,在对其标识符命名时,要加上代表 membe (r成 员)的前缀m_例如一个标识符为 m_dw
5、Flag则它表示的变量是一个类型为双字的成员变量,它是代表一个标志。.Static Final变量的命名Static Final变量的名字应该都大写,并且指出完整含义。.参数的命名 参数的名字必须和变量的命名规范一致。.数组的命名数组应该总是用下面的方式来命名:byte口 buffer;而不是:byte buffer口;.方法的参数 使用有意义的参数命名,如果可能的话,使用和要赋值的字段一样的名字:SetCounter(int size)this.size = size;.神秘的数 首先要说什么是神秘的数。我们在程序里经常会用到一些量,它是有特 定的含义的。例如,现在我们写一个薪金统计程序,公
6、司员工有50人,我们在程序里就会用 50这个数去进行各种各样的运算。在这里,50就是"神秘的数"。为什么称它为神秘呢?因为别的程序员在程序里看到50这个数,不知道它的含义,只能靠猜了。在程序里出现"神秘的数”会降低程序的可读性,应该尽量避免。避免的 方法是 把神秘的数定义为一个常量。注意这个常量的命名应该能表达该数的意义,并且应该全部大写,以与对应于变量的标识符区别开来。例如上面50这个数,我们可以定义为一个名为NUMOFEMPLO 丫的常S量来代替。这样,别的程序员在读程序的时候就可以容易理解了。命名约定】一、变量名的约定: 命名规则主要采用匈牙利命名法。进行了
7、一些增删。1.用小写字母的前缀表示变量的类型,前缀的下一个字母用大写前缀 类型 例子b * Boolean bisParent by 字节 byFlag ch * char chText c * 类对象 cMain (对象实例)fn Function fnCallback h * Handle (句柄)hWnd i * int n * 无符号整型 p * 指针 sz,str * 字符串 wWORDx,y 坐标 xPos, yPos其中,带“ * ”号的为常用约定。其它前缀:m_ 类成员变量 m_nVal, m_bFlagg_ 全局变量 g_nMsg, g_bFlag般用于循环变量)局部变量中可
8、采用如下几个通用变量:nTemp , nResult , I, J二、VB中控件的命名:用小写前缀表示类别:fm窗口cmd按钮cob combo ,下拉式列表框txt文本输入框 lab labal ,标签img image ,图象pic picturegrd Grid ,网格scr滚动条lst列表框frm fram注释规范】、函数在函数开头,用如下格式注释:/*/* Function: DelStringFrom String */* 从一个 String 删除另一个 String 。 */* 参数:strByDelete , strToDelete */* strByDelete:被删除的字
9、符串(原来的字符串)*/* strToDelete:要从上个字符串中删除的字符串。*/*返回:找到并删除返回0,否则返回-1.*/*/二、变量 对于非通用的变量,请在定义时加以注释说明,变量定义尽可能放在最开始处。三、文件注释在文件开头注释以下内容:/ Project:文件所在的项目名,如:eForum/ By:作者、修改者、 .,如: xiaobo 、 qyz/ Discription:说明文件的功能。/四、其它 函数内各功能模块,如:循环、流程的各分支等,尽可能多的加以注释。【编程风格】一、严格采用梯形层次对应好各层次。如:main()(int i,j;for (i=0;i<100;
10、i+)(if (i=0)(二、注意错误处理编程中要考虑函数的各种执行情况,尽可能处理所有流程情况。将函数分两类:一类为与屏幕的显示无关,二类为与屏幕的显示有关。对于与屏幕显示无关的函数,函数通过返回值来报告错误。对于与屏幕显示有关的函数,函数要负责向用户发出警告,并进行错误处理错误处理代码一般放在函数末尾,如下(以 VB程序为例):On Error Goto errHandleExit SuberrHandle:Select Case ErrCase 1:Case 2:Case Else:End SelectEnd Sub对于通用的错误处理,可建立通用的错误处理函数,处理常见的通用的错误【模块
11、化】某一功能,如果重复实现三遍以上,即应考虑模块化,将它写成通用函数。并向小组成员发布。同时已要尽可能利用其它人的现成模块。模块化的一些注意事项:1 .设计好模块接口,用面向对象的观点看,包括:函数接口和变量接口。2 .定义好接口以后不要轻易改动,并在模块开头(文件的开头或函数的开头)加以说明。3 .不要在外部使用接口以外的其它函数或变量。4 .注意全局变量也是一种接口。5 .接口即是罗列出一个模块的所有的与外部打交道的变量、函数等。:)1、 变量先定义后使用;2、 首字大写,尽量采用英语描述,不宜采用拼音描述;3、变量命名基本采用匈牙利命名法则;匈牙利命名法则基本原则是:变量名二属性+类型+
12、对象描述即一个变量名由三部分信息组成,这样,程序员很容易理解变量的类型、用 途,而且便于记忆。下边是根据我站一些推荐使用的规则例子(详细命名规则请参看匈牙利命名规则):g_ cary_?属性部分 全局变量: 常量:?类型部分指针:p_句柄:h_整型:浮点型:f_日期型:d_布尔型:b_字符型:s_数组型:?描述部分 初始化 临时变量:其中部分规则考虑到将来.net发展的c#变量命名规则,在 Asp中可不考虑。参考实例:c_i_InitBorderColor 、g_s_TmpNewsTitle 、 g_i_ary_VoteNum ,程序员可根据实际情况梢做改动,但必须遵循匈牙利命名法则,能够使其
13、他程序员看变量名便知其类型和属性等关键标识符意义;4、所有控件的属性值都要使用双引号或者单引号包括起来;5、控件的命名规则:Button :btnForm :frmSelect :selTextarea :txtInput :iptHidden:hi6、各控件主要使用规则:? img控件alt :所有展示类图片都要具有能简要描述图片内容的文字说明。? Input控件maxlength :所有Input控件都需要制定 maxlength属性,默认值为数据 库中对应的字 段的长度。readonly :所有不可更改的信息都要使用readonly属性。? Form控件action :所有 Form 都
14、要指定 action ,如果提交给本身就指定action="" method :尽量使用 post方式onsubmit :所有form都要指定提交前需要的检查程序。所有 form 都要有对应的 reset button 。? Button 控件Onclick : form中用于提交的 button不容许使用此方法,所有数据检查通 过form的 onsubmit 激活。? head属性所有页面都要具有不为空的head属性。?所有中文页面都要加上如下语句:4、数据库设计程序员在进行数据库设计前应先仔细阅读由市场部做的各项分析文档(包括可行性分析,需求分析等),查看由信息部拟订的
15、项目所需功能列表后,仔细斟酌后进行数据库初步设计,设计完后提交数据库设计报表。详细规范如下:?所有表必须以字符"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文件夹,存放样式
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 云浮市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)及答案详解(易错题)
- 2026年六安市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)及答案详解(全优)
- 2026年武汉市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)含答案详解(达标题)
- 昆明市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)附答案详解(能力提升)
- 连云港市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)及完整答案详解一套
- 2026年大庆市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)及答案详解(有一套)
- 台北市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)附答案详解(黄金题型)
- 三亚市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)带答案详解(完整版)
- 丹东市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)参考答案详解
- 南宁市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)附答案详解(研优卷)
- 挫而不折破茧成蝶高一主题班会课件
- 新版苏教版三年级数学上册《间隔排列》教案
- 物流配送责任免除协议条款
- MRI常见伪影简介课件
- 安全工器具的检查及使用培训
- 中国黄酒酿造技术单选题100道及答案
- 前列腺癌内分泌治疗护理
- 低压电工安全技术培训
- 中国婴幼儿 科学配餐与食品制作指导手册
- 冀少版七年级生物上册《第二单元生物的多样性》单元测试卷及答案
- 小学家委会工作职责
评论
0/150
提交评论