代码编写规范研究.docx

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
知识管理系统代码编写规范一、介绍本文档为《知识管理系统》代码编写规范,为保证代码风格的一致性和后期的可维护性,文档讲述的内容要求所有开发人员必须遵守。本规范主要参考了Google Java Style,包括了其他一些业界约定俗成的公约和普遍采用的标准。本规范并非最终标准,一些规定还需再做商讨。1.1 术语说明本文档除非特殊说明,否则:类(class)统指普通类、枚举类、接口和注解类型。注释(comment)只用来指实现注释(implementation comments)。我们不使用“文档注释”这样的说法,而会直接说Javadoc。其他“术语说明”,将在文档中需要说明的地方单独说明。1.2 文档说明本文档中的代码并不一定符合所有规范。即使这些代码遵循本规范,但这不是唯一的代码方式。例子中可选的格式风格也不应该作为强制执行的规范。二、源码文件基础2.1 文件名源文件以其最顶层的类名来命名,大小写敏感,文件扩展名为.java。2.2 文件编码:UTF-8源码文件使用UTF-8编码。2.3 特殊字符2.3.1 空格字符除了换行符外,ASCII 水平空白字符(0x20)是源码文件中唯一支持的空格字符。这意味着:其他空白字符将被转义。Tab字符不被用作缩进控制。2.3.2 特殊转义字符串任何需要转义字符串表示的字符(例如\b,?\t,?\n,?\f,?\r,?\,?\和\\等),采用这种转义字符串的方式表示,而不采用对应字符的八进制数(例如?\012)或 Unicode 码(例如?\u000a)表示。2.3.3 非 ASCII 字符对于其余非ASCII字符,直接使用Unicode字符(例如?∞),或者对应的Unicode码(例如?\u221e)转义都是允许的。唯一需要考虑的是,何种方式更能使代码容易阅读和理解。注意:在使用Unicode码转义,或者甚至是有时直接使用Unicode字符的时候,添加一点说明注释将对别人读懂代码很有帮助。三、源码文件结构源码文件按照先后顺序,由以下几部分组成:license 或者 copyright 声明信息。(如果需要声明)包(package)声明语句。import 语句。类声明(每个源码文件只能有一个顶级类)。每个部分之间应该只有一行空行作为间隔。3.1 license 或者 copyright 的声明信息。如果需要声明 license 或 copyright 信息,应该在文件开始时声明。3.2 包声明包声明的行没有行长度的限制。单行长度限制不适用于包声明。3.3 import语句3.3.1 不使用通配符import即,不要出现类似这样的import语句:import java.util.*;3.3.2 没有行长度限制import 语句的行没有行长度的限制。单行长度限制不适用于import 语句所在行。3.3.3 顺序和空行import语句应该被分为几个组,每个组之间由单行的空行隔开。分组的顺序如下:所有的静态导入为归为一组。com.sinosoft(项目自带包)包的import归为一组。第三方包。每个顶级包归为一组。第三方包之间按ASCII码排序。例如:android,?com,?junit,org,?sunjava?包归为一组。javax?包归为一组。同一组内的import语句之间不应用空行隔开。同一组中的import语句按ASCII码排序。3.4 类声明3.4.1 只声明一个顶级类每个源码文件中只能有一个顶级类。例外:package-info.java,该文件中可没有package-info类。3.4.2 类成员顺序类成员的顺序对代码的易读性有很大影响,但这也不存在唯一的通用法则。不同的类可能有不同的排序方式。重要的是,每个类都要按照一定的逻辑规律排序。维护者应该要能解释这种排序逻辑。比如,新的方法不能总是习惯性地添加到类的结尾,因为这样就是按时间顺序而非某种逻辑来排序的。 重载方法:不应该分开当一个类有多个构造函数,或者多个同名成员方法时,这些函数应该写在一起,不应该被其他成员分开。四、格式术语说明:块状结构(block-like construct)指类、成员函数和构造函数的实现部分(大括号中间部分)。注意,在后面的节中讲到数组初始化,所有的数组初始化都可以被认为是一个块状结构(非强制)。4.1 大括号4.1.1 大括号不可省略大括号一般用在if,?else,?for,?do和while等语句。即使当它的实现为空或者只有一句话时,也需要使用。4.1.2 非空语句块采用KR风格对于非空语句块,大括号遵循KernighanRitchie风格:左大括号前不换行。左大括号后换行。右大括号前换行。如果右大括号结束一个语句块或者函数体、构造函数体或者有命名的类体,则右大括号后换行,否则不要换行。例如,当右大

文档评论(0)

1112111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档