Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
W
wiki-java
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • Operations
    • Operations
    • Incidents
  • Analytics
    • Analytics
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • 老徐
  • wiki-java
  • Wiki
  • java code specification

java code specification · Changes

Page history
ulindows created page: java code specification authored Jun 13, 2016 by 老徐's avatar 老徐
Show whitespace changes
Inline Side-by-side
Showing with 119 additions and 0 deletions
+119 -0
  • java-code-specification.md java-code-specification.md +119 -0
  • No files found.
java-code-specification.md 0 → 100644
View page @ 2069d984
### 1 简介
  对于软件开发遵循统一的规范,有利于增强代码的可读性,同时防范错误,更好的发挥所使用的语言的优点,提高工作效率。所以我们制定此编程规范,指导公司的编码活动。本规范适用于公司各个使用Java作为开发语言的项目,作为源程序编写的规范,必须遵守。使用其他语言所编写的程序,比如Perl,在不和所使用的语言冲突的情况下,可以参考本规范的要求来编写源程序。
  **参考资料**
| 文档名称 | 作者 | 发布日期 |
| :-------: | :----: | :-------: |
| 《Rational Unified Process 2000》 | Rational Software Corporation | |
| 《C++编程规范》 | 摩托罗拉中国公司 | |
| 《高质量C语言编程》 | 林锐 | |
| 《Java编程规范》 | Sun | |
### 2 文件和目录
#### 2.1 文件使用统一而且通用的后缀名
* java程序的源文件: .java
* 二进制文件: .class
* AspectJ源文件: .aj
#### 2.2 文件名要清晰、精炼、避免冲突
  可以用公共前缀对文件分组,但是要防止名字过长和冗余信息过多。在一个项目中,遵循统一的文件名命名规则。
#### 2.3 文件/目录名字字符集选择
* 只能使用以下字符集:[A-Za-z0-9_-]
* 包名只能用小写字符、数字和“.”。
* 类名第一个字符必须大写。
#### 2.4 单个的文件建议不超过1000行
  这项不作为强制条件执行,但一个类超过1000行,很有可能这个类的内聚性有问题。
#### 2.5 单个的函数建议不超过100行,但一定不要超过200行
### 3 文件组织
  每个Java源文件都包含一个单一的公共类或接口。若私有类和接口与一个公共类相关联,可以将它们和公共类放入同一个源文件(不建议)。公共类必须是这个文件中的第一个类或接口。
Java源文件还遵循以下规则:
* **文件头注释**
* **包和引入语句**
* **类和接口声明**
#### 3.1 文件头注释
  参见注释里的文件头注释。
#### 3.2 包和引入语句
  在多数Java源文件中,第一个非注释行是包语句。在它之后可以跟引入语句。例如:
```
package java.awt;
import java.awt.peer.CanvasPeer;
```
#### 3.3 类和接口说明
  类/接口申明包括以下几部分:
* **1. 类/接口文档注释**
* **2. 类或接口的声明**
* **3. 类/接口实现的注释(该注释应包含任何有关整个类或接口的信息,而这些信息又不适合)**
* **4. 类的(静态)变量**
* **5. 实例变量**
* **6. 构造器**
* **7. 方法**
#### 3.4 变量申明的次序
  变量申明的次序如下:
* **1. 先静态后实例变量**
* **2. 先public后protected再private**
### 4 排版
#### 4.1 缩进
  4个空格作为缩进排版的一个单位,缩进也可以使用TAB键。
#### 4.2 在程序适当的地方加入空行
  在以下地方应该是用空行分开:
* **1. 方法之间应该用空行分开;**
* **2. 一组局部变量声明和代码之间用空行分开;**
* **3. 用空行将代码按照逻辑片断划分;**
* **4. 除非方法非常简单(如只有一两条语句),否则方法返回语句和其他语句用空行分开;**
* **5. 每个类声明之后应该加入空行同其他代码分开;**
#### 4.3 换行
#### 4.4 一行只写一条语句
#### 4.5 if for do while等语句自占一行,其后无论执行语句多长,都应该使用{}
#### 4.6 右大括号}要单独占一行,左大括号不作结强制规定,但在单个文件中要统一
#### 4.7 代码行之间应该留有适当的空格
### 5 命名规范
#### 5.1 命名基本规范
#### 5.2 类名采用每个单词首字母大写的方式
#### 5.3 包的命名格式采用utn.xxx开头
#### 5.4 常量、静态变量名采用全大写的方式,每个单词间用下划线分隔
#### 5.5 变量名和方法名第一个单词的首字母小写,其余每个单词的首字母大写,首字母以外的字母全部小写
### 6 注释
#### 6.1 确保注释是完善你的代码而不是重复它
#### 6.2 用中文或者英文注释代码
#### 6.3 注释用词要精确,不能有二义性
#### 6.4 注释中的术语要通用
#### 6.5 注释应该和代码同步更新
#### 6.6 禁止使用行尾注释
#### 6.7 注释不要嵌套
#### 6.8 使用文档注释
#### 6.9 文件头注释
#### 6.10 方法注释
#### 6.11 类注释
#### 6.12 方法或者类的内部注释
#### 6.13 代码修改必须增加注释
### 7 表达式
#### 7.1 如果表达式中的运算符较多,使用括号确定运算顺序
#### 7.2 避免大表达式中使用赋值语句
#### 7.3 避免数学表达式和程序表达式混淆
#### 7.4 在条件表达式中常量建议书写在前面
### 8 常用语句
#### 8.1 if语句
#### 8.2 循环语句
#### 8.3 switch语句
### 9 方法
#### 9.1 避免方法参数过多
#### 9.2 建议方法只有唯一的出口
#### 9.3 如果返回不是void,必须提供返回值
#### 9.4 重复使用的代码用方法替代
### 10 类
#### 10.1 提高类内的聚合度
#### 10.2 降低类之间的耦合度
#### 10.3 努力使类的接口少而完备
### 11 其它
#### 11.1 无论什么时候,为你的正式程序编写单元测试代码
#### 11.2 建立项目内部编码规范
#### 11.3 代码中使用到的算法或常量是根据某个规范而实现的,必须用注释说明
#### 11.4 禁止使用IDE的格式化功能格式化已有的代码
\ No newline at end of file
Clone repository
  • git configuration and simple use
  • Home
  • java code specification
  • maven environment configuration
  • shuidi js develope
  • ucs_project environment configuration