自己总结的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.
自己总结的C#编码规范--6.格式篇的更多相关文章
- 自己总结的C#编码规范--4.注释篇
注释 注释毫无疑问是让别人以最快速度了解你代码的最快途径,但写注释的目的绝不仅仅是"解释代码做了什么",更重要的尽量帮助代码阅读者对代码了解的和作者一样多. 当你写代码时,你脑海里 ...
- 自己总结的C#编码规范--1.命名约定篇
命名约定 我们在命名标识符时(包括参数,常量,变量),应使用单词的首字母大小写来区分一个标识符中的多个单词,如UserName. PascalCasing PascalCasing包含一到多个单词,每 ...
- 这套C#编码规范写不错
自己总结的C#编码规范--1.命名约定篇:http://www.cnblogs.com/luzhihua55/p/CodingConventions1.html 自己总结的C#编码规范--2.命名选择 ...
- PHP 高级编程(1/5) - 编码规范及文档编写
PHP 高级程序设计学习笔记20140612 软件开发中的一个重要环节就是文档编写.他可以帮助未来的程序维护人员和使用者理解你在开发时的思路.也便于日后重新查看代码时不至于无从下手.文档还有一个重要的 ...
- 浅谈Android编码规范及命名规范
前言: 目前工作负责两个医疗APP项目的开发,同时使用LeanCloud进行云端配合开发,完全单挑. 现大框架已经完成,正在进行细节模块上的开发 抽空总结一下Android项目的开发规范:1.编码规范 ...
- Objective-C开发编码规范【转载】
概要 Objective-C是一门面向对象的动态编程语言,主要用于编写iOS和Mac应用程序.关于Objective-C的编码规范,苹果和谷歌都已经有很好的总结: Apple Coding Guide ...
- 前端编码规范之JavaScript
上次浅谈了下关于CSS的编码规范,大部分童鞋持赞同意见,仍存在一些童鞋不太理解这些规范的意义. 如果是个人或者小作坊开发,其实这些所谓的编码规范也没啥意思,因为大家写好的代码直接就给扔到网上去了,很少 ...
- Java Script 编码规范【转】
Java Script 编码规范 以下文档大多来自: Google JavaScript 编码规范指南 Idiomatic 风格 参考规范 ECMAScript 5.1 注解版 EcmaScript ...
- python编码规范
python编码规范 文件及目录规范 文件保存为 utf-8 格式. 程序首行必须为编码声明:# -*- coding:utf-8 -*- 文件名全部小写. 代码风格 空格 设置用空格符替换TAB符. ...
随机推荐
- linux 下安装vscode
下载安装包 https://code.visualstudio.com/docs/?dv=linux64_deb (注意是deb包) sudo dpkg -i code_1.18.1-15108573 ...
- LeetCode(90):子集 II
Medium! 题目描述: 给定一个可能包含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集). 说明:解集不能包含重复的子集. 示例: 输入: [1,2,2] 输出: [ [2], [1 ...
- ESD选型指南
信息来自网络,可能有误,希望指正! 一.ESD工作原理 ESD静电保护元件,又称静电抑制二极管.ESD是多个TVS晶粒或二极管采用不同的布局做成具有特定功能的多路或单路ESD保护器件,主要应用于各类通 ...
- .tar.xz文件的解压方法
废话不多说: 直接看 方法一: tar -xvJf ***.tar.gz 方法二: 先减压成 .tar 格式的文件, 再解压 .tar #xz是一个工具, 系统中没有安装,需要下载 xz -d *** ...
- Ubuntu 进入、退出命令行的快捷键
进入: Ctrl+Alt+F1 退出: Ctrl+Alt+F7(或者 Alt+F7) 进入命令行窗口:Ctrl+Alt+T
- Python面向对象 三大特性 综合案例
class Animal: # 所用的知识 Animal类的封装 -> Dog类,Cat类,Person类的继承->多态 # 把所有的共同属性和方法封装在一个公有类里面让子类继承父类的方法 ...
- hive表中字段显示为NULL时,HDFS文件中存储为\N
hive数据落地到hdfs,null会默认用'\N'存储 解决方式1:利用命令(这个我没起效果) alter table adl_cici_test_fdt set serdeproperties(' ...
- SRS流媒体服务器搭建+ffmpeg推流VLC取流观看
一.编译SRS https://github.com/winlinvip/simple-rtmp-server 目前有1.0-release.2.0.3.0等版本 2.0官方文档地址:https:// ...
- k8s 1.12.6版的kubeadm默认配置文件
这个对于提高安装配置的便捷性,相当有帮助. 命令如下: kubeadm config print-default 输出如下: apiEndpoint: advertiseAddress: 1.2.3. ...
- [转] git rm与git rm --cached
当我们需要删除暂存区或分支上的文件, 同时工作区也不需要这个文件了, 可以使用 git rm file_path 当我们需要删除暂存区或分支上的文件, 但本地又需要使用, 只是不希望这个文件被版本控制 ...