之前事情中整理的一篇编码规范。
代码注释 注释约定只在需要的处所加注释,不要为显而易见的代码加
使用 /// 生成的xml标签格局的
所有的要领都应该以描述这段代码的成果的一段简明注释开始(要领是干什么)。这种描述不应该包孕执行过程细节(它是怎么做的)
/// <summary> /// 把东西类型转化为指定类型 /// </summary> /// <typeparam>动态类型 </typeparam> /// <param>要转化的源东西 </param> /// <returns> 转化后的指定类型的东西,转化掉败引发异常。</returns> public static T CastTo<T>(this object value)
代码行注释如果某一成果需要多行代码,并有多个逻辑布局,应在此代码前添加注释,说明此块代码的措置惩罚惩罚思路及注意事项等
注释重新行增加,与代码开始处左对齐
注释双斜线与注释之间以空格分隔,示例如下:
public void Dispose(){ // 如果连接已打开,则*连接并释放资源 if(this.connection.State == ConnectionState.Open ){ this.connection.Close(); this.connection.Dispose(); } }
变量注释变量需添加注释,说明变量的用途
Class级变量使用 /// 生成的Xml标签格局的文档注释
/// <summary> /// 文档名称 /// </summary> public static string docName = "";
要领级的变量注释可以放在变量声明语句后,与上下行的注释左对齐,注释与代码间以 Tab 键分隔断绝分手
public void CreateDoc() { string docType = ""; //文档类型 string author = ""; //作者 DateTime createDate = DateTime.Now; //创建世界 }
定名规范 定名根基约定PascalCasing:
包罗一个或多个单词,每个单词首字母大写,其余小写
使用范畴:定名空间、类、接口、要领、属性、事件、非私有字段、枚举值
namespace System.IO public static class Console public enum FileAccess
camelCasing:
包罗一个或多个单词,第一个单词首字母小写,其余单词首字母大写
使用范畴:要领参数、局部变量
public string GetName(int productId){ string productName = null; }
**_camelCasing:**
"_"+camelCasing的方法
使用范畴:私有字段
private string _productName;
UPPER_CAPS:
包罗多个单词,每个单词的所有字母大写,单词之间使用"_"连接
使用范畴:const常量
public const string DEFAULT_NAME = "default";
示例:
namespace ConsoleApp { public delegate void SalesOutEventHandler(); public class Product { public event SalesOutEventHandler OnSalesOut; public Product GetProductById(int productId) { return null; } private enum ProductType { } } }
标识符定名约定 类和接口