CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

哪位有C#的编码规范啊?可以贡献一下吗?

楼主grayfox2008(Gray Fox)2003-11-02 10:55:37 在 .NET技术 / C# 提问

公司做的项目要写个技术文档,打算弄个编码规范也就算了,可惜手头没有资料,给200分!!! 问题点数:100、回复次数:3Top

1 楼grayfox2008(Gray Fox)回复于 2003-11-02 10:56:01 得分 0

忘记说了,尽快!Top

2 楼graying(Graying.net)回复于 2003-11-02 11:01:49 得分 100

贴了n遍了,老大,记得搜索啊。  
  以下的编码规范是一个叫wirte的兄台写的,官方不官方不知道,总之我是那样写的哦:)  
   
   
   
  1.               目的  
   
  为了保证企业编写出的程序都符合相同的规范,保证一致性、统一性而建立的程序编码规范。  
   
  2.               范围  
   
  适用于企业所有基于.NET平台的软件开发工作。  
   
  3.               规范内容  
   
  3.1.         代码格式  
   
  u               所有的缩进为4个空格,使用VS.NET的默认设置。  
   
                   
  u               在代码中垂直对齐左括号和右括号。  
   
  if(x==0)  
   
                              {  
   
                                        Response.Write("用户编号必须输入!");  
   
                              }  
   
                        不允许以下情况:  
   
  if(x==0)   {  
   
                               
   
                                        Response.Write("用户编号必须输入!");  
   
                              }  
   
  或者:  
   
  if(x==0){   Response.Write("用户编号必须输入!");}  
   
     
   
  u               为了防止在阅读代码时不得不滚动源代码编辑器,每行代码或注释在1024*800的显示频率下不得超过一显示屏  
   
  u               当一行被分为几行时,通过将串联运算符放在每一行的末尾而不是开头,清楚地表示没有后面的行是不完整的。  
   
  u               每一行上放置的语句避免超过一条。  
   
  u               在大多数运算符之前和之后使用空格,这样做时不会改变代码的意图却可以使代码容易阅读。  
   
  例:  
   
                  int   j   =   i   +   k;  
   
  而不应写为  
   
          int   j=i+k;  
   
  u               将大的复杂代码节分为较小的、易于理解的模块。  
   
  u               编写   SQL   语句时,对于关键字使用全部大写,对于数据库元素(如表、列和视图)使用大小写混合。  
   
  u               将每个主要的   SQL   子句放在不同的行上,这样更容易阅读和编辑语句,例如:   SELECT   FirstName,   LastName  
   
                                                            FROM   Customers  
   
                                      WHERE   State   =   'WA'  
   
     
   
     
   
  3.2.         注释(Comment)规范  
   
  注释规范包括:模块(类)注释规范、类的属性、方法注释规范、代码间注释  
   
  3.2.1.   模块(类)注释规范  
   
  模块开始必须以以下形式书写模块注释:  
   
  ///<summary>  
   
                    ///模块编号:<模块编号,可以引用系统设计中的模块编号>  
   
                    ///作用:<对此类的描述,可以引用系统设计中的描述>  
   
                    ///作者:作者中文名  
   
                    ///编写日期:<模块创建日期,格式:YYYY-MM-DD>  
   
                    ///</summary>  
   
  如果模块有修改,则每次修改必须添加以下注释:  
   
                    ///<summary>  
   
                    ///Log编号:<Log编号,从1开始一次增加>  
   
                    ///修改描述:<对此修改的描述>  
   
                    ///作者:修改者中文名  
   
                    ///修改日期:<模块修改日期,格式:YYYY-MM-DD>  
   
                    ///</summary>  
   
     
   
  3.2.2.   类属性注释规范  
   
  在类的属性必须以以下格式编写属性注释:  
   
                    ///   <summary>  
   
                    ///属性说明  
   
  ///   </summary>  
   
  3.2.3.   方法注释规范  
   
  在类的方法声明前必须以以下格式编写注释  
   
                    ///   <summary>  
   
                    ///   说明:<对该方法的说明>  
   
                    ///   </summary>  
   
                      ///   <param   name="<参数名称>"><参数说明></param>  
   
                    ///   <returns>  
   
                    ///<对方法返回值的说明,该说明必须明确说明返回的值代表什么含义>  
   
                    ///   </returns>  
   
     
   
  3.2.4.   代码间注释规范  
   
  代码间注释分为单行注释和多行注释:  
   
                    单行注释:  
   
  //<单行注释>  
   
                    多行注释:  
   
                    /*多行注释1  
   
                      多行注释2  
   
                      多行注释3*/  
   
  代码中遇到语句块时必须添加注释(if,for,foreach,……),添加的注释必须能够说明此语句块的作用和实现手段(所用算法等等)。  
   
     
   
     
   
  3.3.         变量(Variable)命名规范  
   
  3.3.1.   程序文件(*.cs)中的变量命名规则  
   
                 
   
                程序中变量名称   =   变量的前缀   +代表变量含意的英文单词或单词缩写。  
   
     
   
  1.     类模块级的变量请用“m_”作前缀  
   
  public   class   hello  
   
  {  
   
                    private   string   m_Name;  
   
                    private   DateTime   m_Date;  
   
     
   
  }  
   
  2.     类的属性所对应的变量,采用属性名前加“m_”前缀的形式  
   
  public   class   hello  
   
  {  
   
            private   string   m_Name;  
   
            public   string   Name  
   
            {  
   
                    get  
   
  {  
   
              return   m_Name;  
   
  }  
   
  }  
   
  }  
   
  3.     过程级的变量不使用前缀  
   
  public   class   hello  
   
  {  
   
                    void   say()  
   
                    {  
   
                                  string   SayWord;  
   
  }  
   
  }  
   
  4.     过程的参数使用“p_”作为参数  
   
                  public   class   hello  
   
                  {  
   
                                void   say(string   p_SayWord)  
   
                                {  
   
                                }  
   
                  }  
   
     
   
  补充说明:  
   
                  针对异常捕获过程中的Exception变量命名,在没有冲突的情况下,统一命名为e;  
   
  如果有冲突的情况下,可以重复e,比如:ee。  
   
  Try  
   
  {  
   
                    //your   code  
   
                    try  
   
  {  
   
  //code  
   
  }  
   
  catch(Exception   ee)  
   
  {  
   
  //your   code  
   
  }  
   
  }  
   
  catch(Exception   e)  
   
  {  
   
                    //your   code  
   
  }  
   
  补充:如果捕获异常不需要作任何处理,则不需要定义Exception实例  
   
  例:  
   
  try  
   
  {  
   
                    //your   code  
   
  }  
   
  catch(   Exception   )  
   
  {  
   
  }  
   
     
   
  5.     鉴于大多数名称都是通过连接若干单词构造的,请使用大小写混合的格式以简化它们的阅读。每个单词的第一个字母都是大写.  
   
  6.     即使对于可能仅出现在几个代码行中的生存期很短的变量,仍然使用有意义的名称。仅对于短循环索引使用单字母变量名,如   i   或   j。  
   
  7.     在变量名中使用互补对,如   min/max、begin/end   和   open/close。  
   
  8.     不要使用原义数字或原义字符串,如   For   i   =   1   To   7。而是使用命名常数,如   For   i   =   1   To   NUM_DAYS_IN_WEEK   以便于维护和理解。  
   
  3.3.2.   控件命名规则  
   
     
   
  控件命名=Web控件缩写前缀     +   “_”   +变量名  
   
     
   
     
   
  控件  
    缩写  
     
  Label  
    lbl  
     
  TextBox  
    txt  
     
  CheckBox  
    chk  
     
  Button  
    cmd  
     
  ListBox  
    lst  
     
  DropDownList  
    drp  
     
    等等  
       
     
   
     
   
  3.4.         常量命名规范  
   
  常量名也应当有一定的意义,格式为   NOUN   或   NOUN_VERB。常量名均为大写,字之间用下划线分隔。  
   
  例:  
   
                  private   const   bool       WEB_ENABLEPAGECACHE_DEFAULT                       =   true;  
   
                  private   const   int         WEB_PAGECACHEEXPIRESINSECONDS_DEFAULT   =   3600;  
   
                  private   const   bool       WEB_ENABLESSL_DEFAULT                                   =   false;  
   
     
   
  注:  
   
  变量名和常量名最多可以包含   255   个字符,但是,超过   25   到   30   个字符的名称比较笨拙。此外,要想取一个有实际意义的名称,清楚地表达变量或常量的用途,25   或   30   个字符应当足够了。  
   
     
   
     
   
  3.5.         类(Class)命名规范  
   
  1.         名字应该能够标识事物的特性。  
   
  2.         名字尽量不使用缩写,除非它是众所周知的。  
   
  3.         名字可以有两个或三个单词组成,但通常不应多于三个。  
   
  4.         在名字中,所有单词第一个字母大写。  
   
                    例如         IsSuperUser,包含ID的,ID全部大写,如CustomerID。  
   
  5.         使用名词或名词短语命名类。    
   
  6.         少用缩写。    
   
  7.         不要使用下划线字符   (_)。    
   
  例:  
   
  public   class   FileStream  
  public   class   Button  
  public   class   String  
     
     
  3.6.         接口(Interface)命名规范  
   
              和类命名规范相同,唯一区别是     接口在名字前加上“I”前缀  
   
          例:  
   
          interface   IDBCommand;  
   
          interface   IButton;  
   
     
   
  3.7.         方法(Method)命名规范  
   
              和类命名规范相同。  
   
  3.8.         命名空间(NameSpace)命名规范  
   
              和类命名规范相同。  
   
  Top

3 楼ilovye(ilovye)回复于 2003-11-02 11:21:21 得分 0

找一本书看就是,清华大学出版的wrox系列中《asp.net入门经典》及《网站高级编程》上都有那些内容。Top

相关问题

  • 昨天买了本《C++编码规范》
  • 征求C#的编码规范
  • 编码规范
  • VB.net 编码规范
  • -------------asp编码规范--------------
  • java编码规范
  • 哪有编码规范的东东,望告之,谢谢先!!(主要面对c/c++,java)
  • 关于java编码规范
  • 软件编码规范
  • 征求javascript编码规范

关键词

  • 命名
  • 代码
  • 模块
  • 编码
  • 属性
  • 语句
  • 字符
  • 控件
  • 修改
  • 字母

得分解答快速导航

  • 帖主:grayfox2008
  • graying

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo