简约的c#编程规范

物理结构:
1. 保持文件夹的名称独立性,尽量以名称空间一致,如Net名称空间对应Net文件夹
2. 文件名尽可能的说明文件的内容,如XmlFileLoader.cs 表示该文件中有一个叫XmlFileLoader的类
3. 建立版本文件夹,如R1, R2, D1, D2, 最好能使用代码管理工具

逻辑结构:
1. 使用名称空间来分割大逻辑模块,如Net名称空间包含对网络的操作代码
2. 使用接口来衔接模块
3. 类功能尽可能独立,并尽量采用模式来设计

代码结构:
1. 命名:
    名称空间:全名称,首字母大写
    类名:全名称,首字母大写
    私有变量:“_” 开头,简写3个字符或全名称,第一个单词小写后面单词首字母大写
    局部变量:简写3个字符或全名称,第一个单词小写后面单词首字母大写
    循环变量:i, j, k, index, item,
    函数名:简写3个字符或全名称,第一个单词全名称首字母大写,后面可以简写3个字符
   
2. 换行:
    大括号换行风格一致,如 
   {                            {
   }                        }
   单行长度坚持以86个字符换行,便于打印显示
   函数参数换行对齐 func( string a,
                                              string b)
   if else 条件不换行,if (a)
                                    else if (b)
                                    else
3. 注释
    行顶注释,并且只使用//
    类名必须注释
    所有public函数都必须要注释,尽量使用自说明单词来起函数名和类名
    尽量使用summary注释
    对函数的注释要说明参数的默认值和可能产生失败的情况,并说明返回值意义
    使用region来分块
    
4. 缩进对齐
    声明等号对齐 string a     = new string();
                              string abc = new string();
    条件判断以变量对齐
    if ( a == b &&
         c == d)
    使用Tab缩进,而不是空格
   
5. 建议
    string类型变量加尾缀str
    集合变量使用复数名词string items, 或集合string itemLst 或数组string itemArr
    可变字符串操作使用StringBuilder类操作
    控件名不要使用缩写开头,直接用有意义的全名称
    bool型变量命名以is开头,bool  isLoaded
    尽量使用is, as关键字
   
   

posted @ 2007-08-23 09:12  moonz-wu  阅读(364)  评论(0编辑  收藏  举报