对于规范的 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块,开始清除工作;

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

  1. 阿里Java开发规范&谷歌Java开发规范&华为Java开发规范&Tab键和空格比较&Eclipse的Tab键设置 总结

    现在收集到如下有用的信息: 阿里巴巴公开的Java开发规范:https://yq.aliyun.com/articles/69327?utm_content=m_10088 google公开的Java ...

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

    阿里巴巴java开发规范插件 作为JAVA开发人员,始终没有一个明确的规范,何为好代码,何为坏代码,造成不同人的代码风格不同,接手别人代码后改造起来相当困难.前不久,阿里巴巴发布了<阿里巴巴Ja ...

  3. myeclipse 阿里巴巴java开发规范

    今天发现阿里巴巴搞了个java开发规范,然后火了: 然后发现我也整了一下: 阿里巴巴java开发规范宣传页: http://mp.weixin.qq.com/s/IbibsXlWHlM59kfXJqR ...

  4. 阿里Java开发规范记录(一)

      近日,从网上下载了阿里云栖社区发布的<阿里巴巴Java开发手册(正式版)>v1.1.0版.从编程以来,一直苦于没有相关的.全面的.靠谱的规范可以参考,有了这手册,日后编程也算是找到了依 ...

  5. 阿里巴巴Java开发规范手册

      Java开发手册 版本号 制定团队 更新日期 备  注 1.0.0 阿里巴巴集团技术部 2016.12.7 首次向Java业界公开 一.编程规约 (一) 命名规约 1.   [强制]所有编程相关命 ...

  6. 阿里java开发规范学习(附P3C IDEA插件 帮助规范的养成)

    浅析 阿里巴巴 Java 开发规约 (未完成) 更加优秀的页面展现请到浅析 阿里巴巴 Java 开发规约 contents 为什么要学 编程规约 P3C IDEA 插件 why-use 我们知道,一般 ...

  7. 我的java开发规范

    关于文件的命名参考阮一峰的这篇文章:http://www.ruanyifeng.com/blog/2017/02/filename-should-be-lowercase.html,文中说文件名全部使 ...

  8. Google的Java开发规范

    长期以来,Google一直有针对各种语言的规范,例如C++, Python等等.惟独对于Java语言,Google一直没有给出相应的规范(传说中是因为Google Java首席构架师Joshua Bl ...

  9. java开发规范

    hbh 开发规范文档 一:目的 使本组织能以标准的,规范的方式设计和编码.通过建立编码规范,以使每个开发人员 养成良好的编码风格和习惯:并以此形成开发小组编码约定,提高程序的可靠性,可读性, 可修改性 ...

随机推荐

  1. 匈牙利算法——S.B.S.

    匈牙利算法是由匈牙利数学家Edmonds于1965年提出,因而得名.匈牙利算法是基于Hall定理中充分性证明的思想,它是部图匹配最常见的算法,该算法的核心就是寻找增广路径,它是一种用增广路径求二分图最 ...

  2. HDU1890 Robotic Sort[splay 序列]

    Robotic Sort Time Limit: 6000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Tota ...

  3. 解决win10卡顿现象

    前两天打开了windows defender,想着既然是window自带的防护工具,应该效果不错.经过测试之后 ,发现这个要占用很大内存,得不偿失.如果想要保证系统安全,甚至腾讯电脑管家做的都比这个w ...

  4. hibernate 数据处理

    1.Hibernate的配置文件 Hibernate.cfg.xml Dept.hbm.xml 2.CRUD的方法名称和参数类型 Save(Object obj) Delete(Object obj) ...

  5. AC日记——I Hate It 洛谷 P1531

    题目背景 很多学校流行一种比较的习惯.老师们很喜欢询问,从某某到某某当中,分数最高的是多少.这让很多学生很反感. 题目描述 不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的 ...

  6. Linux下基于vsftpd搭建ftp服务器

    1.先用检查是否已经安装rpm -qa| grep vsftpd2.然后再进行在线安装vsftpd这个服务yum install vsftpd -y3.修改vi /etc/vsftpd/vsftpd. ...

  7. Log4J日志配置详解

    一.Log4j简介 Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出.综合使 ...

  8. C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 基于数据库资源的多语言实现

    以前的开发平台里,是用xml语言包实现了多语言功能,现在新的平台里进行了调整,把多语言包资源放在数据库表里实现了. 我们系统预留了多语言的配置全局变量.可以通过配置这个参数达到切换多语言的目的 我们在 ...

  9. css的命名规则

    本文转载自谈笑涧<css的命名规则> 操作系统版本:Windows 7 浏览器版本:IE6,IE7,IE8,Firefox 3.6.2,Safari 4.0.4,Chrome 5.0.35 ...

  10. js的this上下文的坑

    很明显,this这个坑,在多层嵌套的时候还是一样被废,不管是call, apply还是bind. 例如: var fun = function() { this.name = 'test'; var ...