代码规范

代码命名规范

1.用Pascal规则来命名方法和类型。 

/// <summary>

/// 数据表格

/// </summary>

public class DataGrid

{

    /// <summary>

    /// 数据绑定

    /// </summary>

    public void DataBind()

    {

    }

}

2.用Camel规则来命名局部变量和方法的参数。

/// <summary>

/// 产品

/// </summary>

public class Product

{

    /// <summary>

    /// 产品Id

    /// </summary>

    private string _productId;



    /// <summary>

    /// 产品名称

    /// </summary>

    private string _productName;



    /// <summary>

    /// 添加产品

    /// </summary>

    /// <param name="productId">产品Id</param>

    /// <param name="productName">产品名称</param>

    public void AddProduct(string productId, string productName)

    {

    }

}

3.所有的成员变量前加前缀“_” 或者 “m_”。 

/// <summary>

/// 数据基础处理

/// </summary>

public class DataBase

{

    /// <summary>

    /// 链接字符串

    /// </summary>

    private string _connectionString;



    /// <summary>

    /// 数据集

    /// </summary>

    private string m_dataSet;

}

4.接口的名称加前缀   “I”。 

/// <summary>

/// 转化接口

/// </summary>

public interface IConvertible

{

    /// <summary>

    /// 转化成byte类型

    /// </summary>

    /// <returns>结果</returns>

    byte ToByte();

}

5.自定义的属性以“Attribute”结尾。 

/// <summary>

/// Table属性

/// </summary>

public class TableAttribute : Attribute

{

}

6.自定义的异常以Exception结尾。 

/// <summary>

/// 空异常

/// </summary>

public class NullEmptyException : Exception

{

}

7.方法的命名。一般将其命名为动宾短语。 

/// <summary>

/// 文件

/// </summary>

public class File

{

    /// <summary>

    /// 创建文件

    /// </summary>

    /// <param name="filePath">文件路径</param>

    public void CreateFile(string filePath)

    {

    }

}

8.局部变量的名称要有意义。 
不要用x,y,z等等,用For循环变量中可使用i,   j,   k,   l,   m,   n。 

/// <summary>

/// 用户

/// </summary>

public class User

{

    /// <summary>

    /// 获取用户

    /// </summary>

    public void GetUser()

    {

        string[] userIds = { "ziv ", "zorywa ", "zlh " };

        for (int i = 0, k = userIds.Length; i < k; i++)

        {

        }

    }

}

9.所有的成员变量声明在类的顶端,用一个换行把它分开。 

 

/// <summary>

/// 产品

/// </summary>

public class Product

{

    /// <summary>

    /// 产品Id

    /// </summary>

    private string _productId;



    /// <summary>

    /// 产品名称

    /// </summary>

    private string _productName;



    /// <summary>

    /// 添加产品

    /// </summary>

    /// <param name="productId">产品Id</param>

    /// <param name="productName">产品名称</param>

    public void AddProduct(string productId, string productName)

    {

    }

}

10.用有意义的名字命名namespace,如:公司名、产品名。 

11.建议局部变量在最接近使用它时再声明。 

12.使用某个控件的值时,尽量命名局部变量。 

// button = btn
// lable = lbl
// select = drop
// text = txt
// submit = sub
// radio = rdo
// password= pwd
// checkbox= chek
// image = img
// hidden = hid

13.把引用的系统的namespace和自定义或第三方的用一个换行把它们分开。   

using   System; 

using   System.Web.UI; 

using   System.Windows.Forms; 



using   CSharpCode; 

using   CSharpCode.Style; 

14.文件名要能反应类的内容,最好是和类同名,一个文件中一个类或一组关连类。 

15.目录结构中要反应出namespace的层次。   

16.大括号 "{“要新起一行。 

public   Sample() 

           // 
           //   TODO:   在此处添加构造函数逻辑 
           // 

17. 局部变量,看情况使用var,尽量不使用var关键字。

18.对象初始化,能简写最好简写:

ValueText vt=new ValueText{Value=10, Text="Age"};

19.注释规则

/// <summary>

/// 账单

/// </summary>

public class Bill

{

    /// <summary>

    /// 名称(注释的时候此处名称跟///必须有一个空格)

    /// </summary>

    private string m_name;



    /// <summary>

    /// Initializes a new instance of the <see cref="Bill"/> class.

    /// </summary>

    /// <param name="amount">金额</param>

    public Bill(decimal amount)

    {

        // 使用当前对象属性必须加this

        this.Amount = amount;

    }



    /// <summary>

    /// 金额

    /// </summary>

    public decimal Amount { get; set; }



    /// <summary>

    /// 添加公司信息(当方法参数超过5个以上必须封装)

    /// </summary>

    /// <param name="company">公司信息</param>

    public void AddCompany(Company company)

    {

        // 方法体代码最多150行

        // 单行注释必须跟//有一个空格

        if (company == null)

        {

            return;

        }



        // 跟}结尾代码必须有一个换行符号

        this.m_name = company.CompanyName;

    }

}

 20.命名空间书写

        // 命名空间建议在头部采用using的方式引用 除非是为了解决命名空间冲突问题



        // 错误的写法

        System.DateTime date = System.DateTime.Now;



        // 正确的写法

        DateTime date = DateTime.Now;

 21.附加优雅注释

 1 /*

 2  神兽保佑-代码无BUG

 3        ┏┓   ┏┓

 4      ┏┛┻━━━┛┻┓

 5      ┃       ┃  

 6      ┃   ━   ┃

 7      ┃ ┳┛ ┗┳ ┃

 8      ┃       ┃

 9      ┃   ┻   ┃

10      ┃       ┃

11      ┗━┓   ┏━┛

12          ┃   ┃   神兽保佑        

13          ┃   ┃   代码无BUG!

14          ┃   ┗━━━┓

15          ┃       ┣┓

16          ┃       ┏┛

17          ┗┓┓┏━┳┓┏┛

18            ┃┫┫  ┃┫┫

19            ┗┻┛  ┗┻┛

20  */
神兽
/*



                            _ooOoo_  

                           o8888888o  

                           88" . "88  

                           (| -_- |)  

                            O\ = /O  

                        ____/`---'\____  

                      .   ' \\| |// `.  

                       / \\||| : |||// \  

                     / _||||| -:- |||||- \  

                       | | \\\ - /// | |  

                     | \_| ''\---/'' | |  

                      \ .-\__ `-` ___/-. /  

                   ___`. .' /--.--\ `. . __  

                ."" '< `.___\_<|>_/___.' >'"".  

               | | : `- \`.;`\ _ /`;.`/ - ` : | |  

                 \ \ `-. \_ __\ /__ _/ .-` / /  

         ======`-.____`-.___\_____/___.-`____.-'======  

                            `=---='  

         .............................................  

                  佛祖保佑             永无BUG 

          佛曰:  

                  写字楼里写字间,写字间里程序员;  

                  程序人员写程序,又拿程序换酒钱。  

                  酒醒只在网上坐,酒醉还来网下眠;  

                  酒醉酒醒日复日,网上网下年复年。  

                  但愿老死电脑间,不愿鞠躬老板前;  

                  奔驰宝马贵者趣,公交自行程序员。  

                  别人笑我忒疯癫,我笑自己命太贱;  

                  不见满街漂亮妹,哪个归得程序员? 

*/
佛祖

 

你可能感兴趣的:(代码)