软件开发规范
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Camel 规则
Private、Protected 的实例字 Camel 规则
段
界面控件
Camel 规则
缩写
Upper 规则
public int GetTypeID(string typeName) { int typeID; … }
private string redValue; protected bool isOk;
软件开发规范(C#)
文档名称 描述
编写人员 审核人
版本日期
软件开发规范初稿
文档变更历史 时间
修改人
章节
描述
目录
1. 目的...................................................................................................................................................... 2 2. 范围...................................................................................................................................................... 2 3. 注释规范.............................................................................................................................................. 2 4. 命名总体规则...................................................................................................................................... 3 5. 命名规范.............................................................................................................................................. 4 6. 编码规则.............................................................................................................................................. 8 7. 编程准则............................................................................................................................................ 10 8. 代码包规范........................................................................................................................................ 11 9. 源代码的管理.................................................................................................................................... 12 10. 输入控制校验规则.......................................................................................................................... 13 11. 数据库开发规则.............................................................................................................................. 13
使用 Camel 规则
不要对字段名或静态字段名应用前缀。具体说来,不要对字段名称应用前缀来区分静态 和非静态字段。例如,应用 g_ 或 s_ 前缀是不正确的。
///<summary> ///说明:<对此类的描述,可以引用系统设计中的描述> ///作者:作者中文名 ///创建时间:<格式:YYYY-MM-DD> ///</summary> /// 修改记录: /// 2012-01-01 修改人名称 修改功能描述 /// 2012-01-02 修改人名称 修改功能描述 /// 2012-01-03 修改人名称 修改功能描述 public class Order {
名称 Pascal 规则 Camel 规则
解释 首字母和后面的每个单词的首字母都大写;其他字母小写 首字母小写,而后面的每个单词的首字母大写;其他字母小写
例子 HelloWorld helloWorld
Upper 规则 所有字母都大写,中间用下划线分隔 PI
Baidu Nhomakorabea
标识符
命名格式
例子
备注
标识符、参数、局部变量
在适当的地方,使用复合单词命名派生的类。派生类名称的第二个部分应当是基类的名 称。
例如,ApplicationException 对于从名为 Exception 的类派生的类是适当的名称,原 因是 ApplicationException 是一种 Exception。请在应用该规则时进行合理的判断。
使用 Pascal 规则。
使用字符 I 为前缀,并紧跟一个大写字母(即接口名的第一个字母大写)
public interface IComponent { }
g) 枚举命名规则
对于 Enum 类型和值名称使用 Pascal 规则。
少用缩写。
不要在 Enum 类型名称上使用 Enum 后缀。
public enum FileMode {
具体可参考 XML 文档注释(C# 编程指南) http://msdn.microsoft.com/zh-cn/library/b2s063f7(v=vs.80).aspx
4. 命名总体规则
名字应该能够标识事物的特性,是有意义的,描述性的词语。能够一眼看出它作什么。 别使用会引起误解的名字。如果名字一目了然,就无需用文档来解释方法的功能了。
string title; // 标题
i) 典型算法必须有注释。 j) 在循环和逻辑分支地方的上行必须就近书写注释。 k) 程序段或语句的注释在程序段或语句的上一行 l) 在代码交付之前,必须删掉临时的或无关的注释。 m) 为便于阅读代码,每行代码的长度应少于 100 个字符。
3.3. 模块(类)注释 模块开始必须以以下形式书写模块注释:
a) 有意义的,描述性的词语来命名。能够一眼看出它作什么。别使用会引起误解的名 字。如果名字一目了然,就无需用文档来解释方法的功能了。
b) 名字尽量不使用缩写,除非它是众所周知的。
c) 名字尽量使用英文单词,特殊情况下才使用拼音。 d). 除用于循环,别使用单个字母的变量象 i, n, x 等. 而要使用 index, temp 等。 for ( int i = 0; i < count; i ){ ...}
}
3.4. 类属性注释 在类的属性必须以以下格式编写属性注释:
/// <summary> /// 属性说明 /// </summary> public DateTime AddTime;
3.5. 方法注释 在类的方法声明前必须以以下格式编写注释
/// <summary> /// 方法说明 /// </summary> /// <param name="orderInfo">参数说明</param> /// <returns>对方法返回值的说明,该说明必须明确说明返回的值代表什么含义</returns> /// 修改记录: /// 2012-01-01 修改人名称 修改描述 /// 2012-01-02 修改人名称 修改描述 /// 2012-01-03 修改人名称 修改描述 public int Add (OrderInfo model) {
例如,Button 对于从 Control 派生的类是适当的名称。尽管按钮是一种控件,但是将 Control 作为类名称的一部分将使名称不必要地加长。
public class FileStream { }
f) 接口命名规则
接口名称应该为名词及名词短语或者描述其行为的形容词,尽可能使用完整的词. (Example: IComponent or IEnumberable)
名字尽量使用英文单词。 名字尽量不使用缩写,除非它是众所周知的。 名字可以有两个或三个单词组成,但不应多于三个,控制在 3 至 30 个字母以内。 在名字中,多个单词用大写第一个字母(其它字母小写)来分隔。例如:IsSuperUser。 名字尽量使用前缀而不是后缀。 名字中的单词尽量使用名词,如有动词,也尽量放在后面。例如:FunctionUserDelete
Create, CreateNew, Open, OpenOrCreate, Truncate }
h) 静态常量使用名词及名词短语命名规则
使用 Upper 规则(全部大写,中间用下划线分隔)
int PI = 3.1415926
i) 参数及非常量变量命名举例
使用描述性的命名,名称应该明确表达参数的意义及类型,优先满足参数的意义描述
e) 类命名规则
类名应该为名词及名词短语,尽可能使用完整的词.
使用 Pascal 规则。
不要使用类前缀 - 。不要使用下划线字符 (_)。不要使用任何类前缀(比如 C)。
有时候需要提供以字母 I 开始的类名称,虽然该类不是接口。只要 I 是作为类名称组 成部分的整个单词的第一个字母,这便是适当的。例如,类名称 IdentityStore 就是适当 的。
1. 目的
为了统一公司软件开发的设计过程中关于代码编写时的编写规范和具体开发工作时的 编程规范,保证代码的一致性,便于交流和维护,特制定此规范。
2. 范围
本规范适用于开发组全体人员,作用于软件项目开发的代码编写阶段和后期维护阶段。
3. 注释规范
3.1. 概述 a) 注释要求中文及中文的标点符号。 b) 注释中,应标明对象的完整的名称及其用途,但应避免对代码过于详细的描述。 c) 每行注释的最大长度为 100 个字符。 d) 将注释与注释分隔符用一个空格分开。 e) 不允许给注释加外框。 f) 编码的同时书写注释。 g) 重要变量必须有注释。 h) 变量注释和变量在同一行,所有注释必须对齐,与变量分开至少两个空格。 如:
}
3.6. 代码间注释 代码间注释分为单行注释和多行注释:
单行注释: //<单行注释> 多行注释: /*
多行注释1 多行注释2 多行注释3 */ 或者 //多行注释1 // 多行注释2 // 多行注释3
代码中遇到语句块时必须添加注释(if,for,foreach,……),添加的注释必须能够说明 此语句块的作用和实现手段(所用算法等等)。
(而不是 FunctionDeleteUser)。
在具体任务开发中,如果有特定的命名约定,则在相应的软件开发计划中予以明确定义及上 报。
5. 命名规范
具体可参考微软命名规范 http://msdn.microsoft.com/zh-cn/library/xzf533w0(v=vs.71).aspx
5.1. 命名规范样式的分类
private Label lblAlarm;
namespace System.IO {…}
缩写必须是被普 遍接受、众所周知 的缩写
除上面的标识符外(包括但不 限于:类名、方法名、命名空 Pascal 规则 间)
public System.Drawing.Color BackColor {…}
5.2. 命名原则