C#基本开发规范

、c#语言开发规范

1.  命名规范

A. 类

【规则1-1】使用Pascal规则命名类名,即首字母要大写。

 class Test

{

    ...

}

【规则1-2】使用能够反映类功能的名词或名词短语命名类。

【规则1-3】不要使用“I”、“C”、“_”等特定含义前缀。

【规则1-4】自定义异常类应以Exception结尾。

class TestException

{

...

}

【规则1-5】文件名要能反映类的内容,最好是和类同名。

B. 类字段(类成员)

【规则2-1】用camel规则来命名类成员变量名称,即首单词(或单词缩写)小写。

【规则2-2】类字段变量名前可加“_”前缀。

【规则2-3】坚决禁止在普通变量前加“m_”(这是VC老命名规则)。

class Test

{

private string myName;

private string _myCoCo;

...

}

  1. 方法

【规则3-1】方法名采用Pascal规则,第一个字符要大写。

【规则3-2】方法名应使用动词或动词短语。

【规则3-3】类中访问修饰符或功能相同的方法应该放在一起, 且公共或实现接口的方法在前。

class Test

{

...

public void GetData(...)

{

...

}

private void GetName(...)

{

...

}

private static void GetCount(...)

{

...

}

}

  1. 属性

【规则4-1】使用名词定义属性,属性使用Pascal规则,首字符大写

【规则4-2】属性和相应字段名称要关联, 可以使用“重构”菜单来生成属性。

class Test

{

private string myName;

public string MyName

{

set

{

myName = Value;

}

get

{

return myName;

}

}

}

  1. 参数

【规则5-1】参数采用camel规则命名,且首字符小写。

【规则5-2】使用描述性参数名称,参数名称应当具有最够的说明性。

【规则5-3】不要给参数加匈牙利语类型表示法的前缀。

【规则5-4】检查方法所有输入参数的有效性。

class Test

{

public void GetData(string name,string strFlag)

{

...

}

}

  1. 常量

【规则6-1】只读常量使用Pascal命名规则,即首字母大写。

【规则6-2】枚举名使用Pascal规则命名,枚举成员本质属于常量,命名规则同上。

【规则6-3】枚举值从小到大顺序定义。

【规则6-4】静态字段或属性采用Pascal规则,即首字符大写。

class Test

{

public const double Pi = 3.14159365753;

private readonly double Pai = 3.14159365753;

}

  1. 接口

【规则7-1】接口定义使用Pascal规则,且必须以大写“I”开头。

【规则7-2】接口名称要有意义,中间不要有下划线“_”等字符。

【规则7-3】如果类实现了接口,名称尽量和接口相同, 只是省掉“I”字符。

eg:注意这里的接口修饰符只能用public和internal

interfacel Test

{

...

}

  1. 事件

【规则8-1】委托名称采用Pascal规则,即首字符大写。

【规则8-2】定义事件的委托要使用EventHandler后缀,且包括sender和e两个参数。

【规则8-3】事件用到的参数,名称要带EventArgs后缀。

class Test

{

private delegate void DoTask();

private event DoTask DoTaskEventHandler;

private event DoTask DoTaskEventHandler(Object sender,EventArgse);

private event DoTaskDoTaskEventHandler2(string   strEventArgs)

{

...

}

...

}

  1. 命名空间

【规则9-1】命名空间名称采用Pascal规则,且首字符大写。

【规则9-2】命名空间名称尽量反映其内容所提供的整体功能。

namespace MyTest

{

class Test

{

...

}

...

}

2.  注释规范

a)文件头部注释

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

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

b)类及其成员注释
【规则2-1】对方法和类使用“///”三斜线注释。
【规则2-2】代码行文注释采用“//”和“/**/”进行,应该尽量说明问题。

3.行文规范
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】循环、判断语句的程序块部分用花括号括起来, 即使只有一条语句。(return;待议)
【规则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】模块的编写应有完善的测试方面的考虑。

 

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C#(读作“See Sharp”)是一种简洁、现代、面向对象且类型安全的编程语言。 C# 起源于 C 语言家 族,因此,对于 C、 C++ 和 Java 程序员,可以很快熟悉这种新的语言。 C# 已经分别由 ECMA International 和 ISO/IEC 组织接受并确立了标准,它们分别是 ECMA-334 标准和 ISO/IEC 23270 标准。 Microsoft 用于 .NET Framework 的 C# 编译器就是根据这两个标准实现的。 C# 是面向对象的语言,然而 C# 进一步提供了对面向组件 (component-oriented) 编程的支持。现代软件 设计日益依赖于自包含和自描述功能包形式的软件组件。这种组件的关键在于,它们通过属性、方法和 事件来提供编程模型;它们具有提供了关于组件的声明性信息的特性;同时,它们还编入了自己的文 档。 C# 提供的语言构造直接支持这些概念,这使得 C# 语言自然而然成为创建和使用软件组件之选。 有助于构造健壮、持久的应用程序的若干 C# 特性:垃圾回收 (Garbage collection) 将自动回收不再使用 的对象所占用的内存;异常处理 (exception handling) 提供了结构化和可扩展的错误检测和恢复方法;类 型安全 (type-safe) 的语言设计则避免了读取未初始化的变量、数组索引超出边界或执行未经检查的类型 强制转换等情形。 C# 具有一个同一类型系统 (unified type system)。所有 C# 类型(包括诸如 int 和 double 之类的基元类 型)都继承于单个根类型: object。因此,所有类型都共享一组通用操作,并且任何类型的值都能够 以一致的方式进行存储、传递和操作。此外, C# 同时支持用户定义的引用类型和值类型,既允许对象 的动态分配,也允许轻量结构的内联存储。 为了确保 C# 程序和库能够以兼容的方式逐步演进, C# 的设计中充分强调了版本控制 (versioning)。许 多编程语言不太重视这一点,导致采用那些语言编写的程序常常因为其所依赖的库的更新而无法正常工 作。 C# 的设计在某些方面直接考虑到版本控制的需要,其中包括单独使用的 virtual 和 override 修 饰符、方法重载决策规则以及对显式接口成员声明的支持。 本章的其余部分将描述 C# 语言的基本特征。尽管后面的章节会更为详尽,有时甚至逻辑缜密地对规则 和例外情况进行描述,但本章的描述力求简洁明了,因而难免会牺牲完整性。这样做是为了向读者提供 关于该语言的概貌,一方面使读者能尽快上手编写程序,另一方面为阅读后续章节提供指导。
C# 代码编写规范 目录 目录1目的..............................................................................................................................................2 1目的.......................................................................................................................................................4 2适应范围...............................................................................................................................................4 3术语及缩略语.......................................................................................................................................4 4规范内容...............................................................................................................................................4 4.1命名总体规则................................................................................................................................4 4.2命名规范........................................................................................................................................5 4.2.1变量命名.................................................................................................................................5 4.2.2常量命名.................................................................................................................................7 4.2.3类(Class)命名.........................................................................................................................7 4.2.4接口(Interface)命名................................................................................................................7 4.2.5方法(Method)命名..................................................................................................................8 4.2.6命名空间(NameSpace)命名...................................................................................................8 4.2.7属性(Property)命名................................................................................................................8 4.3注释规范........................................................................................................................................8 4.3.1概述.........................................................................................................................................8 4.3.2自建代码文件注释.................................................................................................................9 4.3.3模块(类)注释..........................................................................................................................9 4.3.4类属性注释...........................................................................................................................10 4.3.5方法注释...............................................................................................................................10 4.3.6代码间注释........................................................................................................................... 11 4.4编码规则...................................................................................................................................... 11 4.4.1错误检查规则....................................................................................................................... 11 4.4.2大括号规则........................................................................................................................... 11 4.4.3小括号规则........................................................................................................................... 11 4.4.4缩进规则...............................................................................................................................12 4.4.5对齐规则...............................................................................................................................12 4.4.6比较规则...............................................................................................................................12 4.4.7 Case规则..............................................................................................................................12 4.4.8 If … Else规则.......................................................................................................................12 4.4.9单语句规则...........................................................................................................................13 4.4.10单一功能准则.....................................................................................................................13 4.4.11简单功能准则.....................................................................................................................13 4.4.12明确条件规则.....................................................................................................................13 4.4.13选用False规则..................................................................................................................13 4.4.14独立赋值规则.....................................................................................................................13 4.4.15定义常量规则.....................................................................................................................14 4.4.16模块化规则.........................................................................................................................14 4.4.17交流规则.............................................................................................................................14 4.5编程准则......................................................................................................................................14 4.5.1变量使用...............................................................................................................................14 4.5.2数据库操作...........................................................................................................................14 4.5.3对象使用...............................................................................................................................15 4.5.4模块设计原则.......................................................................................................................15 4.5.5结构化要求...........................................................................................................................15 4.5.6函数返回值原则...................................................................................................................16 4.6代码包规范..................................................................................................................................16 4.6.1代码包的版本号...................................................................................................................16 4.6.2代码包的标识.......................................................................................................................16 4.7代码控制......................................................................................................................................17 4.7.1代码库/目录的建立..............................................................................................................17 4.7.2代码归档...............................................................................................................................17 附件1:数据类型缩写表.................................................................................................................17 附件2:控件名缩写表.....................................................................................................................18 a、.NET控件................................................................................................................................18 b、html控件..................................................................................................................................19

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值