这里只是写了我的一些命名习惯和注释的一些用法
一、命名规范
1.命名空间、类、函数、接口、属性、事件、枚举等使用帕斯卡命名法 例如 class SessionHelper
2.参数和变量使用驼峰式命名法 例如 string loginName
3.常量 UPPER_CAPS 例如 const string DEFAULT_IP
4.私有变量 例如 private string _loginName
5.首字母缩写 2个字母 全部大写 例如 IO 三个以上 第一个大写 例如Xml
二、命名选择
1.命名一定要表达出具体的含义 a1 a2 a3 a4 这种一出现谁也不知道是什么意思 通过上下文虽然可以分析出来 但是非常耗费时间 而且影响看的人的信息 非常重要
2.命名要与使用者的期望匹配 例如 Get开始的方法一般是比较轻量级的 这种命名的方法就不适合写一些复杂的操作
3.不要胡乱命名 例如 Xml2String 也就是分析方法之后才能知道这是xml转string的方法 2代表to 只看命名一般都会一脸懵逼
三、命名约定
1.命名空间 一般是帕斯卡命名法并用点隔开 例如Common.HttpHelper
2.接口 一般以字母I开头 IDisposable
3.服务 一般以Service结尾 AdminService
4.子类 一般以父类名称或一部分为结尾 PermissionAttribute
5.泛型 如果只有一个 T就可以 两个及以上要使用描述性的名字并加上T 例如TInput TOutput 如果有约束要显示出约束 where TSession:Isession
6.枚举 一般用单数 虽然大部分人都不加后缀 但我喜欢加Enum后缀 比较直观 例如 OrderStateEnum
7.属性 一般使用名词或形容词来命名 集合一般加复数形式 List<string> RoleIds{get;private set;}
8.事件 一般使用动词的进行时或过去时 例如窗口关闭前 Closing 关闭后 Closed
四、注释
1.类、属性、方法 用///自动生成的格式
2.单行注释,注释行数<3行时使用 //单行注释
3.多行注释,2<注释行数<=10时使用
/*多行注释1
多行注释2
多行注释3*/
4.注释块,10<注释行数时使用,用50个*
/***************************************************
* 代码块注释1
* 代码块注释2
* ......
* 代码块注释10
* 代码块注释11
***************************************************/
5.注释需要详细写的情况
1) 客户方对代码注释重视程度较高
2) 我们需要提供代码注释自动生成的API文档。
3) 目前编写的是公共核心模块
6.不要为了注释而注释
7.不要用注释来掩饰糟糕的代码和命名 能在命名或上下逻辑中解决的问题不要使用注释来解决
8.注释掉的代码及时处理 有用的留并加说明 没用的直接删
9.注释写下对代码的见解 例如 //这个方法能够提升40%运行速度
10.注释写下代码中的不足 例如 //这个方法可以目前只兼容MP4视频处理 后期兼任其他格式
11.总结式的注释 例如 //下面的方法能够更快速的查找出已经删除商品的Id
五、html属性次序
1.class 2.id name 3.data-* 4.src for type href 5.title alt 6.aria-* role