- 7
- 0
- 约1.01万字
- 约 21页
- 2016-12-19 发布于贵州
- 举报
java代码开发规范 一、介绍 和其他编程规范指南一样,规范不仅包括了代码的结构美学,也包括了其他一些业界约定俗成的公约和普遍采用的标准。本文档中的规范基本都是业界已经达成共识的标准,我们尽量避免去定义那些还存在争议的地方。 1.1 术语说明 本文档除非特殊说明,否则:a、class(类)统指普通的class类型、enum枚举类型、interface类型和annotation类型。b、comment(注释)总是指implementation comments(实现注释,/* */)。我们不使用“文档注释”这样的说法,而会直接说javadoc。 其他术语说明,将在文档中需要说明的地方单独说明。 二、源码文件基础 2.1 文件名 源码文件名由它所包含的顶级class的类名(大小写敏感),加上.java后缀组成。(除了package-info.java文件)。 2.2 文件编码:UTF-8 源码文件使用UTF-8编码。 2.3 特殊字符 2.3.1 空格字符 除了换行符外,ASCII水平空白字符(0x20)是源码文件中唯一支持的空格字符。这意味着:a、其他空白字符将被转义。b、Tab字符不被用作缩进控制。 2.3.2 特殊转义字符串 任何需要转义字符串表示的字符(例如\b, \t, \n, \f, \r, \, \\等),采用这种转义字符串的方式表示,而不采用对应字符的八进制数(例如 \012)或Unicode码(例如 \u000a)表示。 2.3.3 非ASCII字符 对于其余非ASCII字符,直接使用Unicode字符(例如 ∞),或者使用对应的Unicode码(例如 \u221e)转义,都是允许的。唯一需要考虑的是,何种方式更能使代码容易阅读和理解。 注意:在使用unicode码转义,或者甚至是有时直接使用unicode字符的时候,添加一点说明注释将对别人读懂代码很有帮助。 例子:ExampleDiscussionString unitAbbrev = μs;Best: perfectly clear even without a comment.String unitAbbrev = \u03bcs; // μsAllowed, but theres no reason to do this.String unitAbbrev = \u03bcs; // Greek letter mu, sAllowed, but awkward and prone to mistakes.String unitAbbrev = \u03bcs;Poor: the reader has no idea what this is.return \ufeff + content; // byte order markGood: use escapes for non-printable characters, and comment if necessary. 注意:不要因为担心一些程序无法正常处理费ASCII字符而不使用它,从而导致代码易读性变差。如果出现这样的问题,应该由出现问题的程序去解决。 三、源码文件结构 源码文件按照先后顺序,由以下几部分组成:a、License或者copyright声明信息。(如果需要声明)b、包声明语句。c、import语句。d、class类声明(每个源码文件只能有唯一一个顶级class)。 每个部分之间应该只有一行空行作为间隔。 3.1 lincense 或者 copyright的声明信息。好孩子公司项目中的java源代码文件,都应该包括如下lincense版权申明:/** Licensed to the GoodBaby under one or more contributor license agreements. * See the NOTICE file distributed with this work for additional information regarding copyright ownership.* you may not use this file except in compliance with the License.Unless required by applicable law or agreed * to in writing, software distributed under the License is distributed on an AS IS BASIS,WITHOUT WARRANTIES * OR CONDITIONS OF ANY KIND, either express or implied.See the Lice
原创力文档

文档评论(0)