磨刀不误砍柴工——也谈编程规范
温故了一遍先前的基础知识,即使简单明了,还是有“知新”的地方。有句话叫做“磨刀不误砍柴工”,而我觉得撇开其它,首先,养成一个良好的编程习惯是必须的!它如同“磨刀”,看似繁杂、条条框框,但一旦习惯了,绝对 “不误砍柴”,coding起来会更加行云流水,有清扬之感。
建立编程规范有利于团队之间开发前后的交流,这种交流不仅存在于开发者与其他开发者之间,还存在于开发的不同时期.很多人在没有坚持统一的编程规范时有一种经验,就是现在来看两周前的代码,都已经很模糊,特别是当项目比较大时,就更加的麻烦.而如果一个开发团队没有统一的编程规范,要想做成功一个中大型的项目基本是没有多少可能的.有理由认为,编程规范就是开发者的第二种语言,是在更高层面进行交流的基础。编程规范中的最基本的几个方面,包括命名规范、注释编写规范和数据库编写规范。
1、 命名规范
命名规范的第一法则是一律采用英文单词或英文组合形式,如Name,StudentNumber等。坚决反对采用拼音缩写形式,这是最糟糕的命名方式!现在介绍两种通用的规范类型,即Camel规范和Pascal规范,
Camel规范:第1个字符不大写,但目标名中的每个单词第1个字母大写。
Pascal规范:第1个字符大写,目标名中的每个单词的第1个字母也大写。
1) 类和类成分命名原则
类的命名原则:用名词或名词短语命名类,使用Pascal大写,减少类名中缩写的使用量。不要使用任何类前缀(比如C),不要使用带下划线的字符。如public class FileStream{},public class Button{}
2)接口命名原则
使用名词或名词短语,或者描述行为的形容词来命名接口。如IComponent,ICustonAttributeProvider和IPersistable。使用Pascal大写,减少类名中缩写的使用量。不要使用任何类前缀(比如C),不要使用带下划线的字符。在接口名前加上前缀I,表示这是一个接口类型。
3)参数的命名规则
只读和Const字段用名词、名词短语或名词的缩写命名。静态字段用Pascal大写命名。注:一、使用描述性参数名,二、不要使用保留参数
4)方法命名原则
用动词或动词短语命名方法。如RemoveAll(),GetCharArray(),Invoke()
5)事件的命名原则
用EventHandler后缀命名事件处理程序,如public delegate void MouseEventHadler( object sender, MouseEvent e),使用Sender 和e两个参数,Sender参数代表提出事件的对象,它永远是一个类型对象,即使它可能使用了更为特定的类型。与事件相关的状态被封装在一个名为e的事件类范例中。要使用这个类型的正确的、特定的事件类。用EventArgs后缀命名事件自变量类,如下所示:
public class MouseEventArgs:EventArgs{
int x;
int y;
public MouseEventArgs(int x ,int y)
{
this.x=x;this.y=y;
public int X{get { return x;}}
public int Y{ get {return y;}}
}
}
int x;
int y;
public MouseEventArgs(int x ,int y)
{
this.x=x;this.y=y;
public int X{get { return x;}}
public int Y{ get {return y;}}
}
6)控件的命名原则
命名要求:变量名=类型缩写前缀+变量名含义名词,其中,类型缩写前缀要求全小写,变量名含义名词采用Pascal规范。如 TextBox来显示学生学号,可写为:txtStuName.
2、注释编写规范
注释,广义上来说包含了对软件注解的一切文档,因此,可分为内部注释和外部注释。在程序中,内部注释分为三类:
(1) 文件头注释
一般的格式是:
////////////////////////////////////////////
///文件名
///Copyright (c)
///创建人
///日期
///修改人
///描述
///版本
//////////////////////////////////////////
它可以帮助了解该文件的一般意义。
(2) 函数体注释
函数体注释的一般格式是:
////////////////////////////////////////////
///<summary>
///功能注释
///</summary>
///<param name=”参数名”>这里写函数参数的定义</summary>
///<returns>函数返回值</returns>
//////////////////////////////////////////
功能注释的表达很重要,对于一个函数如GetWishes(bool radom)注释时,可以这样写根据ramdom选择是否以随机的方式返回希望列表。
(3) 语句功能注释
在语句后,同行加“//”来进行注释,多行用“/**/”来进行处理。一般有几个要点:1)清楚明白的地方,不加注释2)逻辑判断多的地方,要加注释3)加注释必须要易懂4)好的注释应从流程角度出发,而不是见文生义。
3、数据库编码规范
一、数据库对象的命名规范
1)表名、视图名:项目名+实体名
2)存储过程名:表名(或其实被操作的对象名)+“_”+操作方法名,如WishesLog_Create.
3)存储过程注释书写规范
如下所示:
-------------------------------------------------------------------
-----用途:
-----作者:
-----时间:
-----
--------------------------------------------------------------------
存储过程内容……
以上只是对于使用.NET开发时编程规范的不完整的小结,在实践中探索,在探索中完美。至于一门新的语言的学习亦需要从这里来开始。(正月初八晚)

浙公网安备 33010602011771号