自己总结的C#编码规范--6.格式篇
-
格式
格式的统一使用可以使代码清晰、美观、方便阅读。为了不影响编码效率,在此只作如下规定:
-
长度
-
一个文件最好不要超过500行(除IDE自动生成的类)。
- 一个文件必须只有一个命名空间,严禁将多个命名空间放在一个文件里。
- 一个文件最好只有一个类。
- 如果超过500行,考虑拆分类或者使用Partial 类将类按照功能拆分。
- 一个方法的代码最好不要超过50行,如果超过考虑将里面的逻辑封装成函数。
-
-
空格、空行
空行的使用以使代码清晰为为基本原则。空行影响程序的运行,但可以使代码看起来清晰,增加可读性,因此可以适当的使用。
- 方法与方法之间有两个空行
- 函数内部变量声明与函数内部逻辑之间有一个空行。
- 函数内部一个逻辑完成后要有一个空行,然后再写下一个逻辑
-
换行
换行掌握的原则是不要使一行代码特别长,以方便读者快速阅读。
-
请团队所有成员开启Visual Studio自动换行功能。
Tools->Options->Text Editor->C#->Check the Word wrap CheckBox
- 在不产生严重歧义或增加阅读难度的情况下,尽量控制在80列以内,不能超过120列,以方便阅读和代码的打印。
- 另外换行的原则是,在逗号后,操作符前换行,换行与首行要保持一个单位的缩进。
- "{"和"}"必须单独在一行上,且上下对齐。
-
If,while,do,try-catch-finaly 等语句后必须有{},即使里面只有一条语句或语句为空,且遵循"{"和"}"必须单独在一行上上的规定。
-
Region的使用
Region的使用可以明确代码块的范围并提供相应注释,因此提倡大家尽量使用。
同时Region也可以用来组织代码结构,我们使用以下Region约定来使组织类:
- 一个类应该用Region划分出Fields、Properties、Constructor、Private Methods和 Protected & Public Methods 五个区域。并按照上述顺序从上到下排列。
- 其中Fields、Properties、Constructor、Private Methods必须放在Region。而Protected & Public Methods 必须放在外面。Protected & Public Methods 是代码阅读者查找最频繁的内容,这样做可以方便代码阅读者使用Ctrl+M, O时能够最快速度定位到自己想要查找的内容。
一个好的类结构第一层展开时应该如下图所示:
-
使用VS的Format Document功能
一个类或者方法编写完成后,必须使用Visual Studio 自带的"Format Document"的功能进行排版后才能Check In.