ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:30.46KB ,
资源ID:14037722      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/14037722.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(代码编写规范Word文档格式.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

代码编写规范Word文档格式.docx

1、这意味着:1. 其他空白字符将被转义。2. Tab字符不被用作缩进控制。2.3.2 特殊转义字符串任何需要转义字符串表示的字符(例如b,t,n,f,r,和等),采用这种转义字符串的方式表示,而不采用对应字符的八进制数(例如012)或 Unicode 码(例如u000a)表示。2.3.3 非 ASCII 字符对于其余非ASCII字符,直接使用Unicode字符(例如),或者对应的Unicode码(例如u221e)转义都是允许的。唯一需要考虑的是,何种方式更能使代码容易阅读和理解。注意:在使用Unicode码转义,或者甚至是有时直接使用Unicode字符的时候,添加一点说明注释将对别人读懂代码很有

2、帮助。三、源码文件结构源码文件按照先后顺序,由以下几部分组成:1. license 或者 copyright 声明信息。(如果需要声明)2. 包(package)声明语句。3. import 语句。4. 类声明(每个源码文件只能有一个顶级类)。每个部分之间应该只有一行空行作为间隔。3.1 license 或者 copyright 的声明信息。如果需要声明 license 或 copyright 信息,应该在文件开始时声明。3.2 包声明包声明的行没有行长度的限制。单行长度限制不适用于包声明。3.3 import语句3.3.1 不使用通配符import即,不要出现类似这样的import语句:im

3、port java.util.*;3.3.2 没有行长度限制import 语句的行没有行长度的限制。单行长度限制不适用于import 语句所在行。3.3.3 顺序和空行import语句应该被分为几个组,每个组之间由单行的空行隔开。分组的顺序如下:1. 所有的静态导入为归为一组。2. com.sinosoft(项目自带包)包的import归为一组。3. 第三方包。每个顶级包归为一组。第三方包之间按ASCII码排序。例如:android,com,junit,org,sun4. java包归为一组。5. javax同一组内的import语句之间不应用空行隔开。同一组中的import语句按ASCII码

4、排序。3.4 类声明3.4.1 只声明一个顶级类每个源码文件中只能有一个顶级类。例外:package-info.java,该文件中可没有package-info类。3.4.2 类成员顺序类成员的顺序对代码的易读性有很大影响,但这也不存在唯一的通用法则。不同的类可能有不同的排序方式。重要的是,每个类都要按照一定的逻辑规律排序。维护者应该要能解释这种排序逻辑。比如,新的方法不能总是习惯性地添加到类的结尾,因为这样就是按时间顺序而非某种逻辑来排序的。3.4.2.1 重载方法:不应该分开当一个类有多个构造函数,或者多个同名成员方法时,这些函数应该写在一起,不应该被其他成员分开。四、格式术语说明:块状结

5、构(block-like construct)指类、成员函数和构造函数的实现部分(大括号中间部分)。注意,在后面的4.8.3.1节中讲到数组初始化,所有的数组初始化都可以被认为是一个块状结构(非强制)。4.1 大括号4.1.1 大括号不可省略大括号一般用在if,else,for,do和while等语句。即使当它的实现为空或者只有一句话时,也需要使用。4.1.2 非空语句块采用K&R风格对于非空语句块,大括号遵循Kernighan&Ritchie风格: 左大括号前不换行。 左大括号后换行。 右大括号前换行。 如果右大括号结束一个语句块或者函数体、构造函数体或者有命名的类体,则右大括号后换行,否则

6、不要换行。例如,当右大括号后面接else或者逗号时,不应该换行。例子:1. returnnewMyClass()2. Overridepublicvoid method()3. if(condition()4. try5. someting();6. catch(ProblemException e)7. recover();8. 9. 10. 11. ;一些例外的情况,将在4.8.1节讲枚举类型的时候讲到。4.1.3 空语句块:可以用简洁版本一个空的语句块,大括号可以简洁地写成,不需要换行。如果它是一个多块语句的一部分(if/else或try/catch/finally) ,即使大括号内没内

7、容,右大括号也要换行。1. void doNothing()4.2 语句块的缩进:4空格每当一个新的语句块产生,缩进就增加两个空格。当这个语句块结束时,缩进恢复到上一层级的缩进格数。缩进要求对整个语句块中的代码和注释都适用。(例子可参考之前4.1.2节中的例子)。4.3 一行最多只有一句代码每句代码的结束都需要换行。4.4 行长度限制:80或100不同的项目可以选择采用80个字符或者100个字符作为限制。除了以下几个特殊情况外,其他代码内容都需要遵守这个长度限制。这在4.5节会有详细解释。1. 按照行长度限制,无法实现地方(例如:Javadoc中超长的 URL 地址,或者一个超长的 JSNI

8、方法的引用);2.package和import语句不受长度限制。(见3.2、3.3节);3. 注释中的命令行指令行,将被直接复制到shell中执行的。4.5 换行当一行代码按照其他规范都合法,只是为了避免超出行长度限制而换行时,称为长行断行。长行断行,没有一个适合所有场景的全面、确定的规范。但很多相同的情况,我们经常使用一些行之有效的断行方法。将长行封装为函数,或者使用局部变量的方法,也可以解决一些超出行长度限制的情况。并非一定要断行。4.5.1 在何处断行断行的主要原则是:选择在更高一级的语法逻辑的地方断行。其他一些原则如下:1. 在一个逗号后面断开。2. 在一个操作符前面断开(=号和for

9、each语句的冒号除外)。3. 在调用函数或者构造函数需要断行时,与函数名相连的左括号要在一行。也就是在左括号之后断行。4.5.2 断行的缩进:至少8个字符当断行之后,在第一行之后的行,我们叫做延续行。每一个延续行在第一行的基础上至少缩进四个字符。当原行之后有多个延续行的情况,缩进可以大于8个字符。如果多个延续行之间由同样的语法元素断行,它们可以采用相同的缩进。4.6.3节介绍水平对齐中,解决了使用多个空格与之前行缩进对齐的问题。4.6 空白4.6.1 垂直空白以下情况需使用一个空行:1. 类成员之间需要空行隔开:字段、构造函数、方法、内部类、静态初始化语句块(static initializ

10、ers)、实例初始化语句块(instance initializers)。o 例外:连续字段之间的空白行不是必需的。一般多个字段中间的空行,是为了对字段做逻辑上的分组。2. 在函数体内,语句的逻辑分组间使用空行。3. 类的第一个成员之前,或者最后一个成员结束之后,用空行间隔。(可选)4. 本文档中其他部分介绍的需要空行的情况。(例如3.3节中的 import 语句)单空行时使用多行空行是允许的,但是不要求也不鼓励。4.6.2 水平空白除了语法和规范的其他规则,词语分隔、注释和Javadoc外,水平的ASCII 空格只在以下情况出现:1. 所有保留的关键字与紧接它之后的位于同一行的左括号()之间

11、需要用空格隔开。(例如if、for、catch)2. 所有保留的关键字与在它之前的右大括号()之间需要空格隔开。(例如else、catch)3. 在左大括号()之前都需要空格隔开。只有两种例外:o SomeAnnotation(a, b)o String x = foo;4. 所有的二元运算符和三元运算符的两边,都需要空格隔开。一元操作符和操作数之间不应该加空格,比如:负号(“-”),自增(“+”)和自减(“-”)。例:i+;5. 逗号、冒号、分号和右括号之后。6. 如果在一条语句后做注释,则双斜杠(/)两边都要空格。这里可以允许多个空格,但没有必要。7. 变量声明时,变量类型和变量名之间需要

12、用空格隔开:List list。8. 初始化一个数组时,大括号之间可以用空格隔开,也可以不使用。(例如:int 5, 6和new int 5, 6 都可以)这一原则并不要求或禁止一行开始或者结束时的空格。只针对行内部字符之间的隔开。4.6.3 水平对齐:不做强制要求水平对齐,是指通过添加多个空格,使本行的某一符号与上一行的某一符号上下对齐。这种对齐是允许的,但是不会做强制要求。以下是没有水平对齐和水平对齐的例子:1. privateint x;/ this is fine2. privateColor color;/ this too3. 4. privateintx;/ permitted,

13、 but future edits5. privateColor color;/ may leave it unaligned水平对齐能够增加代码的可读性,但是增加了未来维护代码的难度。考虑到维护时只需要改变一行代码,之前的对齐可以不需要改动。为了对齐,你更有可能改了一行代码,同时需要更改附近的好几行代码,而这几行代码的改动,可能又会引起一些为了保持对齐的代码改动。这种改动,在最坏的情况下可能会导致大量的无意义的工作,即使在最好的情况下,也会影响版本历史信息,减慢代码review的速度,引起更多merge代码冲突的情况。4.7 分组括号:建议使用除非作者和代码审核者都认为去掉小括号也不会使代码被误解,或是去掉小括号能让代码更易于阅读,否则我们不应该去掉小括号。我们没有理由假设读者能记住整个Java运算符优先级表。4.8 特殊结构4.8.1 枚举类型枚举常量间用逗号隔开,换行可选。没有方法和文档的枚举类可写成数组初始化的格式:1. privateenumSuit

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1