Java代码规范文档

简介:  NOTE:以下部分为一个简要的编码规范,更多规范请参考 ORACLE官方文档。  地址:http://www.oracle.com/technetwork/java/codeconventions-150003.pdf  另外,请使用 UTF-8格式来查看代码,避免出现中文乱码。

 NOTE:以下部分为一个简要的编码规范,更多规范请参考 ORACLE 官方文档。

  地址:http://www.oracle.com/technetwork/java/codeconventions-150003.pdf

  另外,请使用 UTF-8 格式来查看代码,避免出现中文乱码。

  

至于注释应该使用中文还是英文,请自己行决定,根据公司或项目的要求而定,推荐使用英文。

    1. 整理代码

      1.1. Java 代码中不允许出现在警告,无法消除的警告要用 @SuppressWarnings

     1.2. 去掉无用的包、方法、变量等,减少僵尸代码。

     1.3. 使用 Lint 工具来查看并消除警告和错误。

     1.4. 使用 Ctrl+Shift+F 来格式化代码,然后再进行调整。

     1.5. 使用 Ctrl+Shift+O 来格式化 Import 包。

  2. 命名规则

     2.1. 基本原则 

          2.1.1. 变量,方法,类命名要表义,严格禁止使用 name1, name2 等命名。

          2.1.2. 命名不能太长,适当使用简写或缩写。(最好不要超过 25 个字母)

          2.1.3. 方法名以小写字母开始,以后每个单词首字母大写。

          2.1.4. 避免使用相似或者仅在大小写上有区别的名字。

          2.1.5. 避免使用数字,但可用 2 代替 to,用 4 代替 for 等,如go2Clean。  

 

     2.2. 类、接口

    

          2.2.1. 所有单词首字母都大写。使用能确切反应该类、接口含义、功能等的词。一般采用名词。

          2.2.2. 接口带 I 前缀,或able, ible,er等后缀。如ISeriable。

    

    

     2.3. 字段、常量

    

          2.3.1. 成员变量以 m 开头,静态变量以 s 开头,如 mUserName, sInstance。

          2.3.2. 常量全部大写,在词与词之前用下划线连接,如 MAX_NUMBER

          2.3.3. 代码中禁止使用硬编码,把一些数字或字符串定义成常用量。

          2.3.4. 对于废弃不用的函数,为了保持兼容性,通常添加 @Deprecated,如 {@link #doSomething()}

    

         

  3. 注释

     请参考 {@link #SampleCode}类的注释。

    

     3.1. 常量注释,参见 {@link #ACTION_MAIN}

     3.2. 变量注释,参见 {@link #mObject0}

     3.3. 函数注释,参见 {@link #doSomething(int,float, String)}

     

    

  4. Class 内部顺序和逻辑

 

     4.1. 每个 class 都应该按照一定的逻辑结构来排列基成员变量、方法、内部类等,

              从而达到良好的可读性。

     4.2. 总体上来说,要按照先 public, 后protected, 最后 private, 函数的排布

              也应该有一个逻辑的先后顺序,由重到轻。

     4.3. 以下顺序可供参考:

          定义TAG,一般为 private(可选)

          定义 public 常量

          定义 protected 常量、内部类

          定义 private 变量

          定义 public 方法

          定义 protected 方法

          定义 private 方法

         

 

  5. 表达式与语句

     5.1. 基本原则:采用紧凑型风格来编写代码

     5.2. 细则

    

          5.2.1. 条件表示式,参见 {@link #conditionFun(boolean)}

          5.2.2. switch 语句,参见 {@link #switchFun(int)}

          5.2.3. 循环语句,参见 {@link#circulationFun(boolean)}

          5.2.4. 错误与异常,参见 {@link #exceptionFun()}

          5.2.5. 杂项,参见 {@link #otherFun()}

          5.2.6. 批注,参见 {@link #doSomething(int,float, String)}

      

目录
相关文章
|
3天前
|
Java API Apache
Java编程如何读取Word文档里的Excel表格,并在保存文本内容时保留表格的样式?
【10月更文挑战第29天】Java编程如何读取Word文档里的Excel表格,并在保存文本内容时保留表格的样式?
17 5
|
15天前
|
存储 安全 Java
Java Map新玩法:探索HashMap和TreeMap的高级特性,让你的代码更强大!
【10月更文挑战第17天】Java Map新玩法:探索HashMap和TreeMap的高级特性,让你的代码更强大!
37 2
|
15天前
|
存储 Java API
键值对魔法:如何优雅地使用Java Map,让代码更简洁?
键值对魔法:如何优雅地使用Java Map,让代码更简洁?
70 2
|
22天前
|
安全 Java API
Java 17新特性让你的代码起飞!
【10月更文挑战第4天】自Java 8发布以来,Java语言经历了多次重大更新,每一次都引入了令人兴奋的新特性,极大地提升了开发效率和代码质量。本文将带你从Java 8一路走到Java 17,探索那些能让你的代码起飞的关键特性。
67 1
|
8天前
|
XML 安全 Java
Java反射机制:解锁代码的无限可能
Java 反射(Reflection)是Java 的特征之一,它允许程序在运行时动态地访问和操作类的信息,包括类的属性、方法和构造函数。 反射机制能够使程序具备更大的灵活性和扩展性
18 5
Java反射机制:解锁代码的无限可能
|
4天前
|
jenkins Java 测试技术
如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例详细说明
本文介绍了如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例,详细说明了从 Jenkins 安装配置到自动构建、测试和部署的全流程。文中还提供了一个 Jenkinsfile 示例,并分享了实践经验,强调了版本控制、自动化测试等关键点的重要性。
22 3
|
9天前
|
存储 安全 Java
系统安全架构的深度解析与实践:Java代码实现
【11月更文挑战第1天】系统安全架构是保护信息系统免受各种威胁和攻击的关键。作为系统架构师,设计一套完善的系统安全架构不仅需要对各种安全威胁有深入理解,还需要熟练掌握各种安全技术和工具。
35 10
|
5天前
|
分布式计算 Java MaxCompute
ODPS MR节点跑graph连通分量计算代码报错java heap space如何解决
任务启动命令:jar -resources odps-graph-connect-family-2.0-SNAPSHOT.jar -classpath ./odps-graph-connect-family-2.0-SNAPSHOT.jar ConnectFamily 若是设置参数该如何设置
|
25天前
|
存储 缓存 Java
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
这篇文章详细介绍了Java中的IO流,包括字符与字节的概念、编码格式、File类的使用、IO流的分类和原理,以及通过代码示例展示了各种流的应用,如节点流、处理流、缓存流、转换流、对象流和随机访问文件流。同时,还探讨了IDEA中设置项目编码格式的方法,以及如何处理序列化和反序列化问题。
58 1
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
|
3天前
|
Java
Java代码解释++i和i++的五个主要区别
本文介绍了前缀递增(++i)和后缀递增(i++)的区别。两者在独立语句中无差异,但在赋值表达式中,i++ 返回原值,++i 返回新值;在复杂表达式中计算顺序不同;在循环中虽结果相同但使用方式有别。最后通过 `Counter` 类模拟了两者的内部实现原理。
Java代码解释++i和i++的五个主要区别