`
jelly
  • 浏览: 301513 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

JAVA 编码规范 1.0 (jetbrick 版) 转载

阅读更多

1 JAVA 编码规范 1.0 (jetbrick 版)

1.1 Java 文件格式

  1. 文件格式必须是 UTF-8,无 BOM 格式
  2. 文件回车换行符必须是 Unix 风格
  3. 每个文件结尾必须有一个空白行
  4. 行尾空白内容应该被 trim 掉
  5. 每个文件开头必须写上项目的标准 LICENSE 注释,如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    /**
     * jetbrick-template
     * http://subchen.github.io/jetbrick-template/
     *
     * Copyright 2010-2013 Guoqiang Chen. All rights reserved.
     * Email: subchen@gmail.com
     *
     * Licensed under the Apache License, Version 2.0 (the "License");
     * you may not use this file except in compliance with the License.
     * You may obtain a copy of the License at
     *
     *   http://www.apache.org/licenses/LICENSE-2.0
     *
     * 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 License for the specific language governing permissions and
     * limitations under the License.
     */
  6. 代码必须是格式化的,请使用统一的 Eclipse 的代码格式文件:eclipse-jetbrick-style-formatter.xml

  7. 不想被自动格式化的代码请用 @formatter 包裹,如:

    1
    2
    3
    4
    5
    6
    7
    8
    //@formatter:off
    private static final String[] DATE_PATTERNS = new String[] {
        "yyyy-MM-dd HH:mm:ss.SSS",
        "yyyy-MM-dd HH:mm:ss",
        "yyyy-MM-dd",
        "HH:mm:ss"
    };
    //@formatter:on
  8. Java 文件必须是可编译的,不应该有任何的 warning 存在

1.2 包名

  1. 包名必须是全部小写的,最好用一个单词表示
  2. 包名必须以 jetbrick 开头
  3. 接口或者抽象类的多种实现,推荐以 spisupport 包命名

1.3 类名

  1. 类名必须首字母大写,驼峰命名法: 如 UserInfoClassUtils
  2. 类名尽量不要缩写,如果缩写,必须为特别常用的缩写
  3. 接口的命名不要以 I 开头
  4. 抽象类推荐以 Abstract 开头
  5. 接口的默认实现推荐以 Default 开头或者 Impl 结尾
  6. 每个 Class 都需要标注 @auther@since
  7. 每个 Class 都应该有简短的注释

1.4 Imports

  1. Imports 间不要有空行
  2. 超过 3 个相同包下面的 Class 需要使用 .* 代替
  3. 不要使用 import static, 除了 JUnit / TestNG 的 assertXXX 方法

1.5 方法

  1. 方法名称应该采用首字母小写,驼峰命名法: 如 getUserlookupClass
  2. 对于一个 public 的方法,都应该对参数进行基本的校验,比如 null 检测
  3. 对外开放 API 的 public 方法都需要标注 @since
  4. 每个 public 方法都应该有简短的注释

1.6 常量

  1. 常量必须是全大写,并用 _ 分隔,如 MAX_INTEGER
  2. 常量必须是 static final

1.7 变量

  1. 变量名称必须首字母小写,驼峰命名法
  2. 变量名尽量使用缩写,以简短为主
  3. 不要用拼音,要用英文表示
  4. 如果是集合或数组,用复数名词,或者添加 ListMap 等后缀

1.8 注释

  1. 注释必须和代码保持一致,中文/英文均可
  2. 注释中的第一个句子要以(英文)句号、问号或者感叹号结束。 javadoc 工具会将注释中的第一个句子放在方法汇总表和索引中。
  3. 如果注释中有超过一个段落,用 <p> 标签分隔
  4. 如果注释中有多个章节,用 <h2> 标签声明每个章节的标题
  5. 示例代码以 <pre> 包裹

1.9 异常

  1. 异常类名必须以 Exception 结尾
  2. 所有自定义异常都必须继承自 RuntimeException
  3. 方法尽量不要抛出非 RuntimeException 异常
  4. 异常应该和主要的 Class 放在一起,而不是所有的异常类放在一个包下面
  5. 异常描述应该使用英文句子,尽量不要用中文。
  6. 被 catch 住的 Exception,必须要处理,或者重新抛出

1.10 日志

  1. 日志框架使用 slf4j
  2. 实例不多的对象类,不要使用 static 声明 log
  3. 尽量使用 debug 而不是 info 级别
  4. 启动时候需要输出的重要日志,请用 info 级别
  5. 被 catch 住的 Exception,应该被打印出来 log.error(e)

1.11 单元测试

  1. 单元测试框架用 TestNG
  2. 单元测试覆盖率工具用 EclEmma
  3. Mock 框架使用 Mockito
  4. 尽可能为每个方法提供单元测试
  5. 覆盖率应该不低于 70%
分享到:
评论

相关推荐

    JAVA编码规范V1.0..pdf

    JAVA编码规范V1.0 JAVA编码规范是指在JAVA语言编程过程中,遵守的一些基本原则和约定,以提高代码的可读性、可维护性和可扩展性。本文档将对JAVA编码规范V1.0进行详细的解释和描述。 1. 说明 在编写JAVA代码时,...

    阿里Java的编码规范

    Java、编码规范、Java编码规范、阿里巴巴、阿里巴巴Java编码规范、阿里巴巴Java编码规范、阿里巴巴Java编码规范、阿里巴巴Java编码规范、阿里巴巴Java编码规范、阿里巴巴Java编码规范、阿里巴巴Java编码规范、阿里...

    Java编程规范1.0

    《Java编程规范1.0》是一份详细的指南,旨在帮助Java开发者遵循一套统一的编码标准,提高代码质量,增强团队协作效率。这份规范涵盖了命名规则、注释规范、类与对象设计、接口与抽象类、异常处理、并发编程等多个...

    java大作业1.0(维斯特洛大陆的游戏).zip

    java大作业1.0(维斯特洛大陆的游戏).zipjava大作业1.0(维斯特洛大陆的游戏).zip java大作业1.0(维斯特洛大陆的游戏).zipjava大作业1.0(维斯特洛大陆的游戏).zip java大作业1.0(维斯特洛大陆的游戏).zip...

    Java编码规范-v1.0.doc

    Java编码规范-v1.0

    腾讯java编码规范

    腾讯 Java 编码规范 腾讯 Java 编码规范是腾讯集团管理标准的一部分,旨在确保公司项目代码的易维护性和编码安全性。该规范涵盖了 Java 编码风格、文件组织、代码风格、注释、命名、声明、异常、习惯等方面。 一、...

    java实现http1.0

    ### Java实现HTTP1.0详解 #### 知识点一:Java实现HTTP1.0的基础概念 在深入探讨代码细节之前,我们先了解下HTTP1.0的基本概念及其在Java中的实现方式。HTTP(HyperText Transfer Protocol)是互联网上应用最为...

    Java编码规范_ICA整理版_.pdf

    Java编码规范 ICA整理版 Java编码规范 ICA整理版 Java编码规范 ICA整理版Java编码规范 ICA整理版 Java编码规范 ICA整理版 Java编码规范 ICA整理版 Java编码规范 ICA整理版 Java编码规范 ICA整理版 Java编码规范 ICA...

    Java Portlet Specification 1.0

    Java Portlet Specification 1.0 是 Java Portlet 规范的中文版,详细描述了 Java Portlet API 的标准。该规范旨在提供一个完整且清晰的描述,以便让开发者和实现者更好地理解和使用 Java Portlet技术。 1.1 其他...

    snappy-java-1.0.4.1-API文档-中英对照版.zip

    包含翻译后的API文档:snappy-java-1.0.4.1-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:org.xerial.snappy:snappy-java:1.0.4.1; 标签:xerial、snappy、java、中英对照文档、jar包; 使用方法:...

    华为java安全编码规范考试3.1.md

    华为java安全编码规范考试3.1 血与泪整理除的答案,当前时间保证是最新的,基本所有题都能找到。有几题答案没写出来,但是写了所有的错误答案…………排除法

    Java编码规范

    同时,编码规范还可以提高程序代码的安全性和可维护性,提高软件开发的生产效率,所以,编码规范对于程序员而言至关重要。 为使开发项目中所有的JAVA程序代码的风格保持一致,增加代码的可读性,便于维护及内部交流...

    java doc v1.0

    这个版本可能是该工具的一个特定发行版或更新,旨在为Java开发者提供更全面、详细的API参考。Java doc通过解析源代码中的注释(Javadoc注释)来生成文档,这些注释是以特定格式放置在类、方法、变量等定义前面的,...

    taobao-sdk-java-auto-1.0.jar

    taobao-sdk-java-auto-1.0.jar,

    maven-java5-1.0.jar

    maven-java5-1.0.jar

    java 坦克游戏v1.0版

    《Java坦克游戏V1.0版:探索Java2SE技术和GUI编程》 Java坦克游戏V1.0版是一个基于Java编程语言开发的初级游戏模型,它巧妙地运用了Java的绘图技术和事件处理机制,为初学者提供了一个深入理解Java2SE技术的实践...

    阿里JAVA编码规范使用文档1

    阿里JAVA编码规范使用文档1是针对企业内部编程工作的一份重要指导文件,旨在提供一套统一的编码标准,以便于开发团队在项目开发过程中遵循一致的风格和规则,减少因编码风格不一致产生的沟通成本和潜在错误。...

Global site tag (gtag.js) - Google Analytics