微软内部代码规范 一. 写在前头 1. 微软内部的代码编写规范,对于我们来说,有时候觉得很没必要,甚至是猜不透为什么要规定这样写,但是,既然微软内部的员工都按照这个规范来编写代码,一定是有自己的原因的 2. 一款名为“StyleCop”的软件,就是用来检查这些规范的,而“Microsoft Source Analysis for C#”则是专门针对C#而且与.net兼容的工具 3. 安装以上工具之后,你可以在代码编辑器中右击->Run StyleCop,系统就会把所有违反此语法规则的代码以警告方式提醒 4. 你会发现,跟你平常的习惯会有很大出入,如果你觉得自己有一套规范,那你大可以看完这篇后的3秒钟内全部忘掉 5. 本文只写出比较特别的规则,并不是全部规则。 二. 代码放置位置 1. 所有资源(即.cs文件中一般写在最开始的“using ….. ”)要放在命名空间内,如: namespace HelloWorld { using System; using System.Collections; …… } 2. 文件最开头要带copyright 和 author的标签,如: // // Copyright (C) 2009 sinners. All rights reserved // // gosion poon 3. 可访问性顺序应该为:public->protected->private 4. 方法成员属性顺序应该为:Fields->Methods->Properties 5. 每个方法成员属性以及类都需要摘要段,摘要不能为空,传入传出参数必须注释且所有摘要和注释不能少于10个字母 6. 构造函数摘要必须以“Initializes a new instance of the 类名 class”开头 7. 属性必须以“Gets or sets a value”开头,而Bool返回值的属性必须以“Gets or sets a value indicating whether”开头 8. 所有代码块必须以“{”和“}”作为开始和结束 9. If、while、for 等,条件与操作必须分属不同的行 10. 不同条件之间,例如if操作完后面没有跟着else的情况下,后续代码必须在开始空出一行空行 三. 命名规则 1. 变量名不能以“_”开头,不能以类似“m_”形式开头或中间带“_”,个人建议,如果类似常量“MESSAGE_ERROR”形态的,“_”可以用“x”代替,即“MESSAGExERROR” 2. 如果是一般的变量,还是乖乖的用小写字母开头并不带下划线等符号吧。可能你在想:不能以类似“m_”形式开头,那么我以“mm_”开头总可以吧?恭喜你,我很负责任的告诉你,工具说你这样的写法有点类似匈牙利的命名规则,建议你不要这样做。 3. 以下是官方给出的通用规则 1) 请选择易读的标识符名称。例如,英文属性名称 HorizontalAlignment 比 AlignmentHorizontal 更具可读性。 2) 可读性比简洁性更重要。属性名称 CanScrollHorizontally 比 ScrollableX(指 X 轴,但意义不明确)更好。 3) 不要使用下划线、连字符或任何其他非字母数字字符。 4) 不要使用匈牙利表示法。 5) 避免使用与常用编程语言的关键字冲突的标识符。 4. 请参考:http://msdn.microsoft.com/zh-cn/library/ms229045.aspx 四. 类型设计准则 五. 成员设计准则 1. 变量都应该为私有(private),通过公有属性访问,或者用自动生成的方式(Auto Create) 2. 除非是必须覆盖父类的方法成员属性,否则用“this.”比“base.”更好 3. 所有在本类中调用到已定义的方法成员属性,在前面加上“this.” 六. 扩展性设计 七. 异常设计准则 八. 使用准则 本文来源:https://www.wddqw.com/doc/26b373350b4c2e3f572763b5.html