C#语言规范之小结

开发 后端
本文很详细地从注释规范和行文规范两个方面继续小结了一下C#语言规范,希望对大家有所帮助。

C#语言规范——注释规范

a)文件头部注释

【规则1-1】文件都包含文件头,要说明文件名、作者、创建时间、变更记录。

【规则1-2】推荐采用.NET形式书写头部注释。

b)类及其成员注释

【规则2-1】对方法和类使用“///”三斜线注释。

【规则2-2】代码行文注释采用“//”和“”进行, 应该尽量说明问题。

C#语言规范——行文规范

a)缩写规范

【规则1-1】标识符应当直观可望文知意,不提倡使用任何缩写。

【规则1-2】字符串变量推荐是用“str”或“s”开头,采用string.Empty来初始化。

【规则1-3】普通对象可以以“obj”开头。

【规则1-4】缩写可自行定义,一般取单词的前/后字符组成,以含义直观为准则。

【规则1-5】一般情况下不要让缩写破坏标识符的含义。

b)排版

【规则2-1】每行语句至少占一行,如果语句过长(超过一屏),则该语句断为两行显示。

【规则2-2】把相似的内容放在一起,比如字段、属性、方法、事件等,使用“#region--#endregion”命令分组。

【规则2-3】多个程序元素进行对等操作是,操作符之前、之后或者前后都要加空格。

【规则2-4】每个方法的源程序行数原则上应该少于200行。

【规则2-5】语句嵌套层次不得超过3层。

【规则2-6】避免相同的代码段在多个地方出现。

c)语句结构

【规则3-1】如果使用了异常结构,一定要处理异常,一般是要写日志文件。

【规则3-2】分支语句不应该使用复杂长条件,应该将长条件封装成方法。

【规则3-3】switch语句,case后面必须接break。

【规则3-4】禁止使用goto语句进行跳转。

【规则3-5】行文中严禁出现“魔数”,特定含义的常数必须定义成枚举或常量。

【规则3-6】不同类型的操作符混合使用时,使用括号给出优先级。

【规则3-7】不允许使用复杂的操作符组合等。

【规则3-8】循环、判断语句的程序块部分用花括号括起来,即使只有一条语句。

【规则3-9】在switch语句中总是要有default字句,建议使用断言。

【规则3-10】每个类和方法完成单一的功能,不设计多用途面面俱到的类或方法。

【规则3-11】严禁使用未经初始化的变量,变量通常使用构造方法来初始。

d)代码缩进

【规则4-1】碰到大括号要换行。

【规则4-2】不允许使用Java中的括号换行规范。

e)大小写

【规则5-1】不要创建名称相同,但大小写区别的任何元素。

【规则5-2】应当大写仅有两个字符的缩写。

【规则5-3】不要把易混淆的数字和字符放在一起。

【规则5-4】使用英文命名标识符。

f)重名规范

【规则6-1】不允许变量名、类名、属性名、方法名等与系统标识符重名。(系统标识符见附表)

g)SQL编码规范

【规则7-1】SQL语句全部大写。

【规则7-2】对较为复杂的SQL语句加上注释,说明其功能。

【规则7-3】连接符OR、IN、AND、以及=、< =、>=等前后加空格。

【规则7-4】使用明确的列代替 SELECT *。

h)软件架构

【规则8-1】数据库中每一张表对应一个实体类/数据传输对象(DTO)。

【规则8-2】实体类名称使用表名,也可带有Dto后缀。

【规则8-3】三层架构应当合理使用,不应生搬硬套。

【规则8-4】三层架构元素推荐使用后缀:

数据传输对象       XxxxDto

DAO工厂                XxxDAOFactory

DAO接口                IXxxxDAO

服务接口           IxxxxService

DAO的数据库实现        XxxxDAOOracle/XxxxDAOInfomix

业务逻辑           XxxxManager

i)系统

【规则9-1】在国内不要随便使用设计模式等代码模式,因为并不流行。

【规则9-2】系统输入、资源操作(如内存分配、文件及目录操作)、网络操作(如通信、调用等)、任务间的操作(如通信、调用等)时必须进行错误、超时、或则异常处理。

【规则9-3】模块编写应该有完善的测试方面的考虑。

关于C#语言规范的问题就到这里,希望对大家有用。

【编辑推荐】

  1. 配置C#命令行编译器的步骤介绍
  2. C#连接数据库的方法简介
  3. 如何在C#添加鼠标右键菜单
  4. .Net Framework中的委托与事件
  5. Observer设计模式范例详解
责任编辑:book05 来源: 新浪博客
相关推荐

2009-08-21 08:52:40

C#语言命名

2009-08-25 16:32:24

C#语言

2009-08-24 15:56:28

C#项目开发实例

2009-08-24 17:45:39

Java与C#的区别

2009-08-28 16:43:57

C#多线程学习

2009-09-02 17:10:45

C#语言入门

2009-08-27 16:30:08

C#编程命名规范

2009-09-01 10:37:51

C#项目代码C#代码规范

2009-08-13 13:38:30

C#命名规范

2009-08-24 15:38:21

C# 泛型数组

2009-08-13 17:04:09

C#语言C#程序

2009-08-25 17:59:49

C#入门

2009-08-19 16:50:32

Visual C#C#语言特性

2009-05-22 11:01:53

C++JavaC#

2009-08-03 16:28:53

Java语言与C#语言

2009-09-01 15:08:07

C#命名规范

2009-08-24 08:56:55

C#反射

2009-09-11 10:44:55

C#语言

2021-03-15 08:18:23

C#反射模块

2009-07-31 18:18:33

Camel命名法C#命名规范
点赞
收藏

51CTO技术栈公众号