• 格式

格式的统一使用可以使代码清晰、美观、方便阅读。为了不影响编码效率,在此只作如下规定:

  • 长度

    1. 一个文件最好不要超过500行(除IDE自动生成的类)。
      1. 一个文件必须只有一个命名空间,严禁将多个命名空间放在一个文件里。
      2. 一个文件最好只有一个类。
      3. 如果超过500行,考虑拆分类或者使用Partial 类将类按照功能拆分。
    2. 一个方法的代码最好不要超过50行,如果超过考虑将里面的逻辑封装成函数。
  • 空格、空行

空行的使用以使代码清晰为为基本原则。空行影响程序的运行,但可以使代码看起来清晰,增加可读性,因此可以适当的使用。

  1. 方法与方法之间有两个空行
  2. 函数内部变量声明与函数内部逻辑之间有一个空行。
  3. 函数内部一个逻辑完成后要有一个空行,然后再写下一个逻辑
  • 换行

换行掌握的原则是不要使一行代码特别长,以方便读者快速阅读。

  1. 请团队所有成员开启Visual Studio自动换行功能。

    Tools->Options->Text Editor->C#->Check the Word wrap CheckBox

  2. 在不产生严重歧义或增加阅读难度的情况下,尽量控制在80列以内,不能超过120列,以方便阅读和代码的打印。
  3. 另外换行的原则是,在逗号后,操作符前换行,换行与首行要保持一个单位的缩进。
  4. "{"和"}"必须单独在一行上,且上下对齐。
  5. If,while,do,try-catch-finaly 等语句后必须有{},即使里面只有一条语句或语句为空,且遵循"{"和"}"必须单独在一行上上的规定。
  • Region的使用

Region的使用可以明确代码块的范围并提供相应注释,因此提倡大家尽量使用。

同时Region也可以用来组织代码结构,我们使用以下Region约定来使组织类:

  1. 一个类应该用Region划分出Fields、Properties、Constructor、Private Methods和 Protected & Public Methods 五个区域。并按照上述顺序从上到下排列。
  2. 其中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.格式篇的更多相关文章

  1. 自己总结的C#编码规范--4.注释篇

    注释 注释毫无疑问是让别人以最快速度了解你代码的最快途径,但写注释的目的绝不仅仅是"解释代码做了什么",更重要的尽量帮助代码阅读者对代码了解的和作者一样多. 当你写代码时,你脑海里 ...

  2. 自己总结的C#编码规范--1.命名约定篇

    命名约定 我们在命名标识符时(包括参数,常量,变量),应使用单词的首字母大小写来区分一个标识符中的多个单词,如UserName. PascalCasing PascalCasing包含一到多个单词,每 ...

  3. 这套C#编码规范写不错

    自己总结的C#编码规范--1.命名约定篇:http://www.cnblogs.com/luzhihua55/p/CodingConventions1.html 自己总结的C#编码规范--2.命名选择 ...

  4. PHP 高级编程(1/5) - 编码规范及文档编写

    PHP 高级程序设计学习笔记20140612 软件开发中的一个重要环节就是文档编写.他可以帮助未来的程序维护人员和使用者理解你在开发时的思路.也便于日后重新查看代码时不至于无从下手.文档还有一个重要的 ...

  5. 浅谈Android编码规范及命名规范

    前言: 目前工作负责两个医疗APP项目的开发,同时使用LeanCloud进行云端配合开发,完全单挑. 现大框架已经完成,正在进行细节模块上的开发 抽空总结一下Android项目的开发规范:1.编码规范 ...

  6. Objective-C开发编码规范【转载】

    概要 Objective-C是一门面向对象的动态编程语言,主要用于编写iOS和Mac应用程序.关于Objective-C的编码规范,苹果和谷歌都已经有很好的总结: Apple Coding Guide ...

  7. 前端编码规范之JavaScript

    上次浅谈了下关于CSS的编码规范,大部分童鞋持赞同意见,仍存在一些童鞋不太理解这些规范的意义. 如果是个人或者小作坊开发,其实这些所谓的编码规范也没啥意思,因为大家写好的代码直接就给扔到网上去了,很少 ...

  8. Java Script 编码规范【转】

    Java Script 编码规范 以下文档大多来自: Google JavaScript 编码规范指南 Idiomatic 风格 参考规范 ECMAScript 5.1 注解版 EcmaScript ...

  9. python编码规范

    python编码规范 文件及目录规范 文件保存为 utf-8 格式. 程序首行必须为编码声明:# -*- coding:utf-8 -*- 文件名全部小写. 代码风格 空格 设置用空格符替换TAB符. ...

随机推荐

  1. PHP array_combine()

    // 需要替换 key 的数组 $arr_old = array( '0' => array('id' => 1, 'name' => 'Carroll'), '1' => a ...

  2. laravel 5.6

    compact() 建立一个数组,包括变量名和它们的值 打印结果: starts_with() 函数判断给定的字符串的开头是否是指定值

  3. Git使用四:查看工作状态和历史提交

    查看当前的工作状态:git status On branch master:现在位于master分支里面nothing to commit, working tree clean:没有需要提交的文件, ...

  4. Spring Boot的Listener机制的用法和实现原理详解

    之前在介绍了在spring-boot启动过程中调用runner的原理,今天我们介绍另外一种可以实现相似功能的机制:spring-boot的Listener机制. 通过注册Listener,可以实现对于 ...

  5. Spring Cloud Eureka简介及原理

    Eureka是Netflix开发的服务发现组件,本身是一个基于REST的服务.Spring Cloud将它集成在其子项目spring-cloud-netflix中,以实现Spring Cloud的服务 ...

  6. html表单的使用

    表单用于搜集不同类型的用户输入,表单由不同类型的标签组成,实现一个特定功能的表单区域(比如:注册),首先应该用<form>标签来定义表单区域整体,在此标签中再使用不同的表单控件来实现不同类 ...

  7. 20165328 学习基础和C语言基础调查

    一.技能学习经验:      1.你有什么技能比大多数人(超过90%以上)更好: 我算是一个普通人,没什么特别的才能,如果硬要说有什么技能比其他人较好的话,我想大概是快速阅读的能力吧,我能以很快的速度 ...

  8. vim设置Tab键和显示行号

    vim ~/.vimrc set nu 这样设置方便写python代码.

  9. linux操作系统中oracle数据库的密码过期问题解决

    1:首先确定linux登录的用户是root 切换到数据库用户 su oracle(切记,如果这里su oracle不可以,那么就使用此命令su - oracle,这个命令切换到数据库用户肯定可以成功. ...

  10. tomcat启动成功但是访问方面都是404

    1.开发环境与错误情况 开发环境是jdk1.7+maven+git+spring MVC+spring+mybatis+mysql. 楼主做小例子的时候发现,tomcat成功启动,但是访问主页,页面提 ...