当前位置:编程学习 > asp >>

.NET 代码规范学习

 我是个比较自由的人,不喜欢受太多的束缚,有时候做一些事情,喜欢根基自己的想法去做,只要我认为对的我会坚持下的!但是随着学习的不断深入,代码的编写规范,让我越来越感觉到它的重要性。
       保证代码的一致性,会使我们自己写的代码阅读性很强,便于交流和维护,更直接一点说可以让我们避免很多不必要的麻烦,带来很大的经济效益!
       下边我谈谈.NET代码规范的学习:
       一,注释规范
          1,自建代码文件注释:
           
对于自己创建的代码文件(如函数、脚本),在文件开头,一般编写如下注释:
/*************************************************
作者:
小组:
说明:
创建日期:
版本号:
**********************************************/
2,标准注释:
在模块、类、属性、方法前一行添加注释,以便调用的时候提示用户
下以方法声明做例子:
       ///<summary>
       ///depiction:<对该方法的说明>
       ///</summary>
       ///<paramname="<参数名称>"><参数说明></param>
            ///<returns>
            ///<对方法返回值的说明,该说明必须明确说明返回的值代表什么含义>
      ///</returns>
如果模块只进行部分少量代码的修改时,则每次修改须添加以下注释:
///修改人:
///修改日期:< YYYY-MM-DD >
///备份:
/* 原代码内容*/
将原代码内容注释掉,然后添加新代码使用以下注释:
///添加人:
///添加日期: <YYYY-MM-DD>
代码内容
///结束:                     
对于重构的类文件,需要对原来的类文件做备份,然后放在同级目录下,在原有文件名后面添加后缀"_BAK",以便日后版本升级时整理源码。
3.代码中的注释:
代码间注释分为单行注释和多行注释:
单行注释:
//<单行注释>
多行注释:
    /*多行注释1
    多行注释2
    多行注释3*/
代码中遇到语句块时必须添加注释(if,for,foreach,……),添加的注释必须能够说明此语句块的作用和实现手段(所用算法、循环条件、不同分支的意义等等)。
这是添加注释的学习,添加适当的注释,会使你的代码就像课文一样容易读懂。下边看第二部分。
二,命名规范:
   总体来说需要做到这几点:
     a,名字应该能够标识事物的特性,并且与业务挂钩。
     b,名字一律使用英文单词,而不能为拼音。
     c,名字可以有两个或三个单词组成,但不应多于4个,控制在3至30个字母以内。
     d,在名字中,多个单词用大写第一个字母(其它字母小写)来分隔。例如:IsSuperUser。
在具体任务开发中,如果有特定的命名约定,则在相应的软件开发计划中予以明确定义及上报质量管理部审计组。
分点来说具体的:
1,命名概括:
Pascal命名法:所有单词的首字母都大写,其他字母小写
Camel命名法:除首字母外,其他单词的首字母大写,其他字母小写
在类属性的名称中包含类名是多余的,如     Book.BookTitle。而是应该使用 Book.Title。
在变量名中使用互补对,如 min/max、begin/end     和     open/close。
布尔变量名应该包含 Is,这意味着 Yes/No 或     True/False 值,如 fileIsFound。
即使对于可能仅出现在几个代码行中的生存期很短的变量,仍然使用有意义的名称。仅对于短循环索引使用单字母变量名,如 i 或 j。
         文件名要和类名相同,一般情况下一个类一个文件,文件名遵从Pascal命名法,无特殊情况,扩展名小写,使用统一而又通用的文件扩展名: C# 类  .cs。
       2,缩写:
         为了避免混淆和保证跨语言交互操作:
不要将缩写或缩略形式用作标识符名称的组成部分。例如,使用     GetWindow,而不要使用 GetWin。
不要使用计算机领域中未被普遍接受的缩写。
在适当的时候,使用众所周知的缩写替换冗长的词组名称。例如,用 UI 作为 User     Interface 缩写,用 OLAP 作为 On-line     Analytical Processing 的缩写。
在使用缩写时,对于超过两个字符长度的缩写请使用 Pascal 大小写或 Camel 大小写。但是,应当大写仅有两个字符的缩写,如,System.IO,而不是     System.Io。
对于某些名字中单词都比较长的情况,可以自行写一个缩写名字(名字中的关键字不能缩写),将所有的缩写做一个说明文件,放在同级目录下的开头。
      3,命名空间:
             
命名命名空间时的一般性规则是使用公司名称,后跟技术名称和可选的功能与设计,如下所示: CompanyName.TechnologyName[.Feature][.Design]
命名空间使用Pascal大小写,用逗号分隔开。
TechnologyName     指的是该项目的英文缩写,或软件名。
命名空间和类不能使用同样的名字 
       4,类
使用 Pascal 大小写。
使用全称避免缩写,除非缩写已是一种公认的约定,如URL、HTML。对于某个命名空间、文件夹下类名中单词都比较长的情况,可以缩写(名字中的关键字不能缩写,其他单词只取首字母),将所有的缩写做一个说明文件,放在同级目录下的开头。
不使用下划线( _ )。
类的命名要见名知意。
数据访问层:类名后加DAL(Data Access     Layer)。注意:在.NET中没有DAO的概念,DAO是在Java中出现的,表示一种数据访问方式。
业务逻辑层:类名后加BLL(Business Logic     Layer),如果类名特长可以使用缩写,但在文档中要注明。缩写的全称和意义。
界面层:asp中针对页面的类,不用添加UI前缀或后缀。
实体层:实体类后加Entity做结尾,如果其他方法中,调用实体类作为参数,参数前面加小写en,如果参数过长,使用缩写,但在文档中也要注明。
如果系统规模比较大,应该考虑,对类进行分组放到不同的文件夹中,便于维护,把握粒度。
           5,接口:
使用 Pascal 大小写。
在原有类名基础上加“I”,如:IUserDao
不使用下划线(_)。
当类是接口的标准执行时,定义这一对类/接口组合就要使用相似的名称。两个名称的不同之处只是接口名前有一个I前缀。或者在实现类名后加“Impl”后缀。
    public interface IComponent
    {
    }
    public class Component : IComponent
    {
    }
    public class ComponentImpl : IComponent
    {
    }
            6,枚举 (Enum)
对于 Enum 类型和值名称使用 Pascal 大小写。
命名不能缩写,枚举内的内容可以缩写。
命名禁止加Enum 后缀。
           7,参数
参数名称使用Camel大小写
参数名称可缩写
          8,方法
以动词开头。
使用 Pascal 大小写。
禁止缩写,除非名词本身含有缩写。如:AddStudentMgr     ()
         9.属性(property)
以名词或形容词命名。
使用 Pascal 大小写。
禁止缩写。
        10,委托
以名词或形容词命名。
使用 Pascal 大小写。
禁止缩写。
如果与事件(event)关联,则名称命名使用EventHandler后缀,否则其他名称均以Delegate后缀结尾。如
// 普通委托定义
public delegate void SetMethodDelegate(string name);
//委托与事件关联
public delegate void MouseEventHandler(objectsender, MouseEventArgs e);
   11,
补充:Web开发 , ASP.Net ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,