zoukankan      html  css  js  c++  java
  • c#编码规范(团队开发的协作的基本要求)

    . 目标

    1.安全

    代码完成所需的功能之余,不要产生负作用,要稳定可靠.

    2.易读

    ,实例,成员变量,成员函数的命名一目了然

    3.美观

    尽量统一项目组内人员的编程风格,保证一致性,统一性.

    .具体注意事项.

    ()命名

    1.命名原则

    (1)所有的函数(变量//文件名)应该代表其实际的作用.应该使用具有意义的单词或多个词组合,但不要使用人名,项目组名.

    (2)所有的函数(变量/类名)一律使用英文.

    (3)使用多个单词时不需要使用连线(如下划线)

    (4)多个词组合较长时,可以使用单词的缩写.

    (5)不得使用非常相近的名字来表示几个不同含义的函数(变量/).

    (6)命名时请考虑名字的唯一性和含义的准确性.

    (7)命名采用三种格式,Pascal(大小写),Camel(大小写混合),首字母全部大写格式如:ID

    2.变量的命名

    (1)变量名一般由"前缀+类型修饰+代表变量含意的英文单词或单词缩写"等部分组成.

    :

    *前缀(以下划线分割):

           t_:表示线程的全局变量.:t_nCount

           m_:表示类成员变量(包含类表态变量):m_dwFlags

           _ 局部变量以”_”开头,如 _userName

    *主体使用一个或多个单词表示变量代表的确切含义,参见下面的大小写规则。

    *类型修饰(小写字母):

    n

    l

    s

    u

    f

    b

    by

    ch

    sz

    str

    dou

    int

    long

    short

    uint

    float

    bool

    byte

    char

    char[]

    String

    double

    (2)针对异常捕获过程中的Exception变量命名,在没有冲突的情况下,统一命名为 e;

     (3)使用C# 的特有类型,而不是System命名空间中定义的别名类型。如:

                  int age;

                  string name;

                  object contactInfo;

           而不是:

                  Int16 age;

                  String name;

                  Object contactInfo;

     

    这么做是基于如下两点原因:(1)规范性和一致性;(2)便于跨语言平台的移植。

     

    3.函数的命名

    (1)使用动宾词组表达函数所做的事.命名采用Pascal形式

    如:ShowUserInfo(),BoundGridView()

    (2)同名的函数(重载函数)在功能上应该完全相同,在参数上的差别也应一目了然.

    (3)不得出现名字非常相近但功能不符的函数.:CreatePage1(),CreatePage2().

    4.类命名

    (1)名字应该能够标识事物的特性.Public class Employee()

    (2)名字尽量不使用缩写,除非它是众所周知的.

    (3)名字可以有两个或三个以上单词组成,但通常不应多于三个。

    (4)在名字中,所有单词第一个字母都大写。缩写都要大写。

    (5)不要使用下划线连接符(_).

    如:public classs EmployeeComputeSalary 即采用Pascal大小写形式。

    5.控件命名规则

    控件命名=Web控件缩写前缀+"_"+变量名

    控件

    Label

    TextBox

    ListBox

    DropDownList

    GridView

    DataGrid

    DataSet

    缩写

    lbl

    tbx

    lbx

    ddl

    gv

    dg

    ds

    控件

    Panel

    SqlDataSourse

    DataList

     Repeater

     

     

     

    缩写

    pnl

    sds

    dl

     rpt

     

     

     

       

    6.文件命名

    (1)文件命名要具有实际意义。

    (2)源文件应尽量使用8.3格式,文件名只能包含字母,数字和下划线,不得使用其他的字母,超长的文件名应使用缩写方式减少文件名的长度,(视具体情况而定);

    *缩写一般可以去掉无意字母以及不发音字母。

    *单词的首字母一般应该保留。

    *当一个单词必须编写成一个字母时,应该选用最有代表性的字母或首字母。

    *多音节的单词可以去掉后面的音节而只保留有意义的音节。

    *可以使用一些谐音表示一个单词,如2表示to4表示four等等,

    (3)当单词数量少,字母少时不需要缩写词。

    (4)临时文件必须调用系统函数生成,禁止使用固定文件名,一般情况下,临时文件应在系统临时目录下(通过系统函数取到临时目录名)生成。

    7.参数的命名

    一般要采用大小写混合格式。如protect bool login(string userName,string userPass)

    ()代码格式书写规范

    1.代码书写格式

    1)所有的缩进TAB键为4个空格,每个单词的首字符大写,其余小写。

    2)在代码中垂直对齐左括号和右括号。例:

           if(x==0)

           {

                  Response.Write("用户名必须输入!");

           }

    不允许以下情况:

           if(x==0){

           Response.Write("用户名必须输入!");}

    或者     if(x==0){Response.Write("用户名必须输入!");}

    3)在大多数运算符之前和之后使用空格,这样做时不会改变代码的的意图却可以使代码容易阅读。

    例:int j = i + k;而不应写为:int j=i+k;

    4)缩写SQL语句时,对于关键字使用全部大写,对于数据库元素(如表,列和视图)使用大小写混合)。

    5)将每个主要的SQL子句放在不同的行上,这样更容易阅读和编辑语句。

    2注释的写法

    1)在你劳神的地方请加上详细的注释说明,除了最简单的存取成员变量的Set/Get成员函数之外,其余大部分的函数写上注释是良好的习惯,尽量使你的程序让别人很容易看懂。

    2)大多的注释会使程序很难看,但一些复杂的算法和数据结构和数据结构处还是要加上注释的,这样别人就容易看懂,否则时间长了,你自己都未必能看明白了。

    3)如果是对某一段程序(算法/结构)的注释,在程序头直接用//再空一格进行说明,一行不要超过80个字符。

    4)为了防止在阅读代码时不得不左右流动源代码编辑器,每行代码或注释在不得超过一显示屏。

    5)使用连续的多个//表示注释行(不要超过80字符)。

    6)文件头部应有注释,简单描述文件的内容

    7)对于程序中的比较关键的算法和函数,必须加注释。

    3cs文件的书写

    1)各个部分应使用注释行和空行分割,并在必要的地方写上注释。

    2)函数之间用注释各空行分割。中间的内容缩进一个TAB

    .其他

    1.变量

    (1)floatbool禁止用"=="判断.bool应该用逻辑运算关系符,float应该用差值区间来判断"相等";

    (2)类型转换一律用显示类型转换

    (3)类型的长度一律用sizeof()获得;

    (4)当声明一个变量时,务必要自已初始化一下变量;

    2.函数

    (1)功能单一,函数名要名符其实.

    (2)要易懂,实现时不要过分追求技巧,优化放到后面去做.

    (3)长度一般禁止超过200.

    (4)要检查输入值是否合法,实现(成员)函数时务必要求输入参数是在要求范围之内,尤其你定义的(成员)函数给别人调用时,要判断其合法性.

    (5)调用函数时要严格按照接口规范调用,调用后要判断执行情况,并做适当的错误处理(尔后会给出错误和异常处理规范)

    (6)尽量避免整块复制代码段,如果出现这样的情况要分析原因,如果这段代码完成独立的功能,应考虑使用函数,否则,应考虑使用宏定义,否则因为修改引起的不一致往往是错误的根源.

    (7)除极其简单的函数外,其他的函数在稿处必须加上FMAT_TARCE(),参见错误异常处理规范.

    (8)函数的出口尽量唯一,最好在出口处加上FMAT_TRCE();

    (9)写代码时,尽量减少堆的分配次数,能使用Stack的尽量使用Stack

    (10)函数编写必须精练,消除冗余的代码,删除不用的变量

    (11)if/while等语句中和条件表达式的运算结果必须为显式的Bool

    (12)禁量少使用goto语句()

    :

    标识符 大小写方式 示例  

    标识符大小写规则

    标识符

    大小写

    示例

    Pascal

    AppDomain

    枚举类型

    Pascal

    ErrorLevel

    枚举值

    Pascal

    FataError

    事件

    Pascal

    ValueChanged

    异常类

    Pascal

    WebException

    只读的静态字段

    Pascal

    ReadValue

    接口

    Pascal

    IDisposable

    方法

    Pascal

    ToString

    命名空间

    Pascal

    System.Drawing

    属性

    Pascal

    BackColor

    参数

    Camel

    typeName

  • 相关阅读:
    SQL注入过滤
    ASP.NET长文章分页
    简单的权限管理类
    不错的面试题
    【转载】【重要】Ubuntu Linux 下 Ffmpeg 及 Mencoder 安装使用小结
    回到xwindows
    suse11 linux不自动启动xwindows
    flash的几种工具
    mencoder和ffmpeg参数详解
    ffmpeg和Mencoder使用实例小全
  • 原文地址:https://www.cnblogs.com/0000/p/1600769.html
Copyright © 2011-2022 走看看