对于规范的 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. C# Regex实例

    regex1 @"w*(?<Rawsize>\d*x\d*x\d*)\D*(?<RawResolution>(\d*p\d*x*){0,3})_\w*" 测 ...

  2. NopCommerce Alipay 支付插件

    NopCommerce Alipay 支付插件 1.查找及下载NopCommerce Alipay插件 http://www.nopcommerce.com/p/963/alipay-payment- ...

  3. 浅谈Tuple之C#4.0新特性那些事儿你还记得多少?

    来源:微信公众号CodeL 今天给大家分享的内容基于前几天收到的一条留言信息,留言内容是这样的: 看了这位网友的留言相信有不少刚接触开发的童鞋们也会有同样的困惑,除了用新建类作为桥梁之外还有什么好的办 ...

  4. Spring中的cglib动态代理

    Spring中的cglib动态代理 cglib:Code Generation library, 基于ASM(java字节码操作码)的高性能代码生成包 被许多AOP框架使用 区别于JDK动态代理,cg ...

  5. Linux提权(2)-高级版

    当你在攻击受害者的电脑时即使你拥有了一个shell,依然可能会有一些拒绝执行指令的限制.为了获得目标主机的完整控制权限,你需要在未授权的地方绕过权限控制.这些权限可以删除文件,浏览私人信息,或者安装并 ...

  6. ubuntu14.04为安装fcitx卸载ibus后出现system setting (系统设置)中图标消失的问题

    最近在系统为ubuntu14.04原版中,安装fictx.按照以往的经验应先把ibus卸载干净,否则可能会有冲突.因此惯性思维驱使,先卸载ibus,然后安装fcitx,但是问题出现了,system s ...

  7. C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 服务器之间的接口通讯功、信息交换

    1:当远程调用方法时,会有很多种可能性发生.接口调用之后,发生错误是什么原因发生的?反馈给开发人员需要精确.精准.高效率,这时候若能返回出错状态信息的详细信息,接口之间的调用就会非常顺利,各种复杂问题 ...

  8. makefile--subst

    Makefile里的subst用法是$(subst FROM,TO,TEXT),即将TEXT中的东西从FROM变为TOMakefile中的字符串处理函数格式:    $(subst ;,;,;)名称: ...

  9. J2EE,J2SE,J2ME,JDK,SDK,JRE,JVM区别

    转自:http://www.metsky.com/archives/547.html 一.J2EE.J2SE.J2ME区别 J2EE——全称Java 2 Enterprise Edition,是Jav ...

  10. Linux下MySQL/MariaDB Galera集群搭建过程

    MariaDB介绍 MariaDB是开源社区维护的一个MySQL分支,由MySQL的创始人Michael Widenius主导开发,采用GPL授权许可证. MariaDB的目的是完全兼容MySQL,包 ...