C基本书写规范

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C#书写规范

一、命名

对于理解应用程序的逻辑流,命名方案是最有影响力的一种帮助。名称应该说明“什么”而不是“如何”。通过避免使用公开基础实现(它们会发生改变)的名称,可以保留简化复杂性的抽象层。例如,可以使用GetNextStudent(),而不是GetNextArrayElement()。

命名原则是:

选择正确名称时的困难可能表明需要进一步分析或定义项的目的。使名称足够长以便有一定的意义,并且足够短以避免冗长。唯一名称在编程上仅用于将各项区分开。表现力强的名称是为了帮助人们阅读;因此,提供人们可以理解的名称是有意义的。不过,请确保选择的名称符合适用语言的规则和标准。

以下几点是推荐的命名方法。

1、方法、属性、变量规范

∙避免容易被主观解释的难懂的名称,如方面名AnalyzeThis(),或者属性名xxK8。这样的名称会导致多义性。

∙在面向对象的语言中,在类属性的名称中包含类名是多余的,如Book.BookTitle。而是应该使用Book.Title。

∙使用动词-名词的方法来命名对给定对象执行特定操作的例程,如CalculateInvoiceTotal()。

∙在允许函数重载的语言中,所有重载都应该执行相似的函数。

∙只要合适,在变量名的末尾或开头加计算限定符(Avg、Sum、Min、Max、Index)。

∙在变量名中使用互补对,如min/max、begin/end 和open/close。

∙鉴于大多数名称都是通过连接若干单词构造的,请使用大小写混合的格式以简化它们的阅读。另外,为了帮助区分变量和例程,请对例程名称使用Pascal 大小写处理(CalculateInvoiceTotal),其中每个单词的第一个字母都是大写的。对于变量名,请使用camel 大小写处理(documentFormatType),其中除了第一个单词外每个单词的第一个字母都是大写的。

∙布尔变量名应该包含Is,这意味着Yes/No 或True/False 值,如fileIsFound。

∙在命名状态变量时,避免使用诸如Flag的术语。状态变量不同于布尔变量的地方是它可以具有两个以上的可能值。不是使用documentFlag,而是使用更具描述性的名称,如documentFormatType。(此项只供参考)

∙即使对于可能仅出现在几个代码行中的生存期很短的变量,仍然使用有意义的名称。仅对于短循环索引使用单字母变量名,如i或j。

∙可能的情况下,尽量不要使用原义数字或原义字符串,如For i = 1 To 7。而是使用命名常数,如For i = 1 To NUM_DAYS_IN_WEEK以便于维护和理解。

二、代码书写规范

格式化使代码的逻辑结构很明显。花时间确保源代码以一致的逻辑方式进行格式化,这对于您和你的开发小组,以及以后维护源代码的其他开发人员都有很大的帮助。

以下几点是推荐的格式化方法。

∙建立标准的缩进大小(如四个空格),并一致地使用此标准。用规定的缩进对齐代码节。∙在发布源代码的硬拷贝版本时使用特定的字体以及字号(新宋体、小五号)。

∙在括号对对齐的位置垂直对齐左括号和右括号,如:

for (i = 0; i < 100; i++)

{

;

}

也可以使用倾斜样式,即左括号出现在行尾,右括号出现在行首,如:

for (i = 0; i < 100; i++){

;

}

无论选择哪种样式,请在整个源代码中使用那个样式。

∙沿逻辑结构行缩进代码。没有缩进,代码将变得难以理解,如:

if(expression )

{

//

//此处填写你的代码块;

//

}

if(expression )

{

//

//此处填写你的代码块;

//

}

else

{

//

//此处填写你的代码块;

//

}

缩进代码会产生出更容易阅读的代码,如:

if(expression )

{

if(expression )

{

//

//此处填写你的代码块;

//

}

else

{

//

//此处填写你的代码块;

//

}

}

∙为注释和代码建立最大的行长度,以避免不得不滚动源代码编辑器,并且可以提供整齐的硬拷贝表示形式。

∙在大多数运算符之前和之后使用空格,这样做时不会改变代码的意图。但是,C++ 中使用的指针表示法是一个例外。

∙使用空白为源代码提供结构线索。这样做会创建代码“段”,有助于读者理解软件的逻辑分段。

∙当一行内容太长而必须换行时,在后面换行代码中要使用缩进格式,如下:

string inserString = "Insert Into TableName(username,password,email,sex,address)"

+ "Values('Soholife','chenyp','','male','深圳福田')";

∙只要合适,每一行上放置的语句避免超过一条。例外是C、C++、C# 或JScript 中的循环,如for

(i = 0; i < 100; i++)。

∙编写HTML 时,建立标准的标记和属性格式,如所有标记都大写或所有属性都小写。另一种方法是,坚持XHTML 规范以确保所有HTML 文档都有效。尽管在创建Web 页时需折中考虑文件大小,但应使用带引号的属性值和结束标记以方便维护。

∙编写SQL 语句时,对于关键字使用全部大写,对于数据库元素(如表、列和视图)使用大小写混合。

∙在物理文件之间在逻辑上划分源代码。

∙将每个主要的SQL 子句放在不同的行上,这样更容易阅读和编辑语句,例如:

SELECT FirstName, LastName

FROM Customers

WHERE State = 'WA'

∙将大的复杂代码段分为较小的、易于理解的模块。

三、注释

软件文档以两种形式存在:外部的和内部的。外部文档(如规范、帮助文件和设计文档)在源代码的外部维护。内部文档由开发人员在开发时在源代码中编写的注释组成。

不考虑外部文档的可用性,由于硬拷贝文档可能会放错地方,源代码清单应该能够独立存在。外部文档应该由规范、设计文档、更改请求、错误历史记录和使用的编码标准组成。

相关文档
最新文档