C#语言规范

1. 命名规范

a)    类

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

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

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

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

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

b)    类字段

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

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

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

c)方法

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

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

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

    d)属性

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

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

    e)参数

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

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

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

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

 

    f)常量

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

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

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

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

    g)接口

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

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

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

    h)事件

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

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

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

i)  命名空间

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

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

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】循环、判断语句的程序块部分用花括号括起来,即使只有一条语句。

    【规则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】模块编写应该有完善的测试方面的考虑。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/kaola2599/archive/2009/06/24/4293866.aspx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 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# 语言的基本特征。尽管后面的章节会更为详尽,有时甚至逻辑缜密地对规则 和例外情况进行描述,但本章的描述力求简洁明了,因而难免会牺牲完整性。这样做是为了向读者提供 关于该语言的概貌,一方面使读者能尽快上手编写程序,另一方面为阅读后续章节提供指导。
由于pdf太大,此处给出链接地址:https://pan.baidu.com/s/1O3WN_xe2S2wcBOF33K0dfQ,如果失效请留言 作为软件的基石,代码的质量决定了最终产品的质量,本书从这一点出发,介绍了高质量c#代码的成就过程,即从基础代码到软件结构,以及不断优化和重构的过程。 《构建高质量的c#代码》主要内容包括c#的基本语法、结构与应用特点,常用开发资源与技术要点,设计模式c#中的应用等,以及特别重要的一点,即我们应该养成良好的开发习惯,不仅要注重技术细节,还要从更宽阔的视野角度来重新审视代码的构建工作。 无论你是c#初学者,还是正在应用c#的开发者,如果你关注代码的质量,愿意进一步提高软件项目的质量,本书能为你提供帮助。 构建高质量的c#代码目录: 第1章 开启c#之旅 1 第2章 处理数据 21 第3章 控制程序流程 69 第4章 处理异常 93 第5章 数组 106 第6章 结构 124 第7章 枚举 130 第8章 类 135 第9章 类的继承 170 第10章 接口 188 第11章 委托与事件 197 第12章 命名空间 207 第13章 泛型 217 第14章 运算符重载 221 第15章 资源同步与自动清理 226 第16章 关于c#的其他主题 235 第17章 代码的进化 251 第18章 策略模式 266 第19章 工厂方法模式 285 第20章 抽象工厂模式 304 第21章 生成器模式 319 第22章 单件模式 332 第23章 观察者模式 341 第24章 享元模式 359 第25章 组合模式 369 第26章 装饰者模式 378 第27章 状态模式 391 第28章 桥接模式 406 第29章 软件开发之路 420 附录a 设计模式名录 426
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值