Java开发规范摘录

对于规范的 JAVA 派生类,尽量用 eclipse工具来生成文件格式,避免用手写的头文件/实现文件。

尽量避免一行的长度超过 200 个字符,因为很多终端和工具不能很好处理之。
缩进8格

,import 中标准的包名要在本地的包名之前,而且按照字母顺序排列。

如果 import 行中包含了同一个包中的不同子目录,则应该用 * 来处理。

对于构造函数,它应该用递增的方式写,即将参数多的构造方法写在后面

/*-
单行注释之前应该有一个空行。
//然而,它可以用来注释掉连续多行的代码段。

/**
 * 声明:? 2013-2014 版权所有
* Official Website: http://www.****.com
* Copyright: ? 2013 ********** All Rights Reserved.
* @version: 1.0
* @author: Architect.bian
* Create at: 2013-7-28 下午4:47:30
*/

/*
* 类的描述信息
* @author
*/
public class String{

}

2.专有常量类里的常量全部使用小写,方便阅读及配置

数组应该总是用下面的方式来定义:byte[] buffer

即对于一些集合的遍历来说尽量使用增强的for循环而不是借助一些变量(i)。

推荐一行一个声明,因为这样以利于写注释。亦即,

尽量在声明局部变量的同时初始化。唯一不这么做的理由是变量的初始值依赖于某些先前发生的计算。

if (condition) {
statements;
} else if (condition) {
statements;
} else{
statements;
}

if不省略{}

for (initialization; condition; update);

1.若没有足够理由,不要把实例或类变量声明为公有。通常,实例变量无需显式的设置 (set) 和获取

(get) ,通常这作为方法调用的边缘效应 (side effect) 而产生。
2.一个具有公有实例变量的恰当例子,是类仅作为数据结构,没有行为。亦即,若你要使用一个结构

(struct) 而非一个类 ( 如果 java 支持结构的话 ) ,那么把类的实例变量声明为公有是合适的。

classMethod(); //正确
AClass.classMethod(); //正确
anObject.classMethod(); //错误!

8.3 常量¶
位于 for 循环中作为计数器值的数字常量,除了 -1,0 和 1 之外,不应被直接写入代码。

不要使用内嵌 (embedded) 赋值运算符试图提高运行时的效率,这是编译器的工作。

设法让你的程序结构符合目的。例如:

if (booleanExpression) {
return true;
} else {
return false;
}

应该代之以如下方法:
return booleanExpression;
类似地:
if (condition) {
return x;
}
return y;

应该写做:
return (condition ? x : y);

1.for循环嵌套不宜太多,最多三层,否则容易造成代码混乱,不容易阅读,而且还容易出现意想不到的bug


2.对于大量的字符串操作使用StringBuilder代替String,以提高效率;若要求线程安全的话,则使用

StringBuffer;
3.对于List的操作,如果有大量的更新操作,则使用LinkedList;如果更新操作较少,大部分是查询操作的

话,则使用ArrayList;
4.每个方法的行数不宜太多,否则很有可能使方法的设计不合理,应该考虑进行重构;
5.如果有大量的if语句出现,则尝试使用switch语句来代替;
6.在一个特定的作用域内,若一个对象必须清除(非由垃圾收集机制处理),请采用下述方法:初始化对象

;若成功,则立即进入一个含有finally从句的try块,开始清除工作;

时间: 2024-10-28 01:44:35

Java开发规范摘录的相关文章

谈谈Google与微信H5牛牛的Java开发规范

多年前,Google发布微信H5牛牛搭建平台(h5.fanshubbs.com)来定义Java编码时应遵循的微信牛牛Q_1687054422规范:今年年初阿里则发布阿里巴巴Java 开发手册,并随后迭代了多个版本,直至9月份又发布了微信H5牛牛.这两大互联网巨头的初衷,都是希望能够统一标准,使业界编码达到一致性,提升沟通和研发效率,这对于我们码农无疑是很赞的一笔福利呀.笔者将两份规范都通读了一遍,其中列举的不少细则跟平时的编码习惯基本是符合的,不过还是有不少新奇的收获,忍不住记录在此,供日后念念

eclipse安装阿里巴巴java开发规范插件

阿里巴巴java开发规范插件 作为JAVA开发人员,始终没有一个明确的规范,何为好代码,何为坏代码,造成不同人的代码风格不同,接手别人代码后改造起来相当困难.前不久,阿里巴巴发布了<阿里巴巴Java开发手册>得到了业界一致好评,于是,阿里再次发力,完成了基于<阿里巴巴Java开发手册>的插件.有IDEA.Eclipse两个版本,并且支持中英双语,使用起来非常简单高效.官方[Github仓库]:https://github.com/alibaba/p3c 插件安装环境:JDK1.8,

阿里云JAVA开发规范考试总结

JAVA开发手册考试总结 编程规范 POJO(Plain Ordinary Java Object): POJO 专指只有 setter / getter / toString的简单类,包括DO/DTO/BO/VO等. DO(Data Object):此对象与数据库表结构一一对应,通过 DAO 层向上传输数据源对象. DTO(Data Transfer Object):数据传输对象,Service 或 Manager 向外传输的对象. BO(Business Object):业务对象,由 Ser

阿里巴巴Java开发规范手册(三)

(六)并发处理 1.获取单例对象须要保证线程安全,其中的方法也要保证线程安全 2.创建线程或线程池时 请指定有意义的线程名称,方便出错时回溯 3.线程资源必须通过线程池提供,不允许在应用中自行显示创建线程 4.线程池不允许使用Executors去创建,而是通过ThreadPoolExecutor的方式,    这样的处理方式让写的同学更加明确线程池的运行规则,规避资源耗尽的风险 (1).FixedThreadPool 和SingleThreadPool 允许的请求队列长度为Integer.MAX

java开发规范

hbh 开发规范文档 一:目的 使本组织能以标准的,规范的方式设计和编码.通过建立编码规范,以使每个开发人员 养成良好的编码风格和习惯:并以此形成开发小组编码约定,提高程序的可靠性,可读性, 可修改性,可维护性和一致性等,增进团队间的交流,并保证软件产品的质量. 二:代码组织与风格 1:长度:为便于阅读和理解,单个函数的有效代码长度当尽量在100行以内(不包括注行), 当功能模块过大时往往采用使用子函数将相应的功能抽取出来,这也有利于提高代码的重用度. 2:间隔:类,方法及功能块间等应以一个空行

java开发规范总结_代码编码规范

规范需要平时编码过程中注意,是一个慢慢养成的好习惯 1.基本原则 强制性原则:     1.字符串的拼加操作,必须使用StringBuilder:     2.try…catch的用法 try{ }catch{Exception e e.printStackTrace(); }finally{ }//在最外层的Action中可以使用,其它地方一律禁止使用: try{ //程序代码 }catch(Exception e){ //为空,什么都不写 }//在任何场景中都禁止使用 try{ }catch

阿里巴巴java开发规范

一.编程规约 (一) 命名规约 1. [强制]所有编程相关命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束. 反例: _name / __name / $Object / name_ / name$ / Object$ 凡是以两个或一个下划线开始,后面紧跟着一个大写字母的标识符,不管它出现在哪里,都是保留给编译程序或标准库函数使用的. 此外,凡是以一个下划线开始,后面不管跟着什么内容的标识符,如果它出现在文件范围内(即它不是出现在一个函数内),那么它也是被保留的. 如果你用一个保留

java开发规范总结_代码注释规范

规范需要平时编码过程中注意,是一个慢慢养成的好习惯 1.基本规则 1.注释应该使代码更加清晰易懂   2.注释要简单明了,只要提供能够明确理解程序所必要的信息就可以了.如果注释太复杂说明程序需要修改调整,使设计更加合理.   3.注释不仅描述程序做了什么, 还要描述为什么要这样做,以及约束   4.对于一般的getter.setter方法不用注释   5.注释不能嵌套   6.生成开发文档的需要用中文编写 2.三种注释方式说明 1.文档注释 /** */ 可以对用多行,一般用来对类.接口.成员方

Java开发规范总结

 Service / DAO 层方法命名规约: 1 ) 获取单个对象的方法用 get 做前缀.2 ) 获取多个对象的方法用 list 做前缀.3 ) 获取统计值的方法用 count 做前缀.4 ) 插入的方法用 save( 推荐 ) 或 insert 做前缀.5 ) 删除的方法用 remove( 推荐 ) 或 delete 做前缀.6 ) 修改的方法用 update 做前缀. 领域模型命名规约:1 ) 数据对象: xxxDO , xxx 即为数据表名.2 ) 数据传输对象: xxxDTO , x