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块,开始清除工作;
Java开发规范摘录的更多相关文章
- 阿里Java开发规范&谷歌Java开发规范&华为Java开发规范&Tab键和空格比较&Eclipse的Tab键设置 总结
现在收集到如下有用的信息: 阿里巴巴公开的Java开发规范:https://yq.aliyun.com/articles/69327?utm_content=m_10088 google公开的Java ...
- eclipse安装阿里巴巴java开发规范插件
阿里巴巴java开发规范插件 作为JAVA开发人员,始终没有一个明确的规范,何为好代码,何为坏代码,造成不同人的代码风格不同,接手别人代码后改造起来相当困难.前不久,阿里巴巴发布了<阿里巴巴Ja ...
- myeclipse 阿里巴巴java开发规范
今天发现阿里巴巴搞了个java开发规范,然后火了: 然后发现我也整了一下: 阿里巴巴java开发规范宣传页: http://mp.weixin.qq.com/s/IbibsXlWHlM59kfXJqR ...
- 阿里Java开发规范记录(一)
近日,从网上下载了阿里云栖社区发布的<阿里巴巴Java开发手册(正式版)>v1.1.0版.从编程以来,一直苦于没有相关的.全面的.靠谱的规范可以参考,有了这手册,日后编程也算是找到了依 ...
- 阿里巴巴Java开发规范手册
Java开发手册 版本号 制定团队 更新日期 备 注 1.0.0 阿里巴巴集团技术部 2016.12.7 首次向Java业界公开 一.编程规约 (一) 命名规约 1. [强制]所有编程相关命 ...
- 阿里java开发规范学习(附P3C IDEA插件 帮助规范的养成)
浅析 阿里巴巴 Java 开发规约 (未完成) 更加优秀的页面展现请到浅析 阿里巴巴 Java 开发规约 contents 为什么要学 编程规约 P3C IDEA 插件 why-use 我们知道,一般 ...
- 我的java开发规范
关于文件的命名参考阮一峰的这篇文章:http://www.ruanyifeng.com/blog/2017/02/filename-should-be-lowercase.html,文中说文件名全部使 ...
- Google的Java开发规范
长期以来,Google一直有针对各种语言的规范,例如C++, Python等等.惟独对于Java语言,Google一直没有给出相应的规范(传说中是因为Google Java首席构架师Joshua Bl ...
- java开发规范
hbh 开发规范文档 一:目的 使本组织能以标准的,规范的方式设计和编码.通过建立编码规范,以使每个开发人员 养成良好的编码风格和习惯:并以此形成开发小组编码约定,提高程序的可靠性,可读性, 可修改性 ...
随机推荐
- Struts与Struts2的区别
Struts与Struts2的区别 首先看一张Struts2的发展路线图: 从Struts2的发展过程来看,Struts2继承了Struts与Webwork的特性,形成了新的框架.但是它的 ...
- C#基础-事件 继承类无法直接引发基类的事件
An event can be raised only from the declaration space in which it is declared. Therefore, a class c ...
- 【读书笔记《Bootstrap 实战》】4.企业网站
上一章有对个人作品站点进行一些优化.本章,轮到我们充实这个作品站点了,补充一些项目,从而展示我们的能力.换句话说,我们要构建一个相对复杂的企业网站主页. 下面有几个成功企业的网站: □ Zappos ...
- 片元着色器(Fragment Shader)被称为像素着色器(Pixel Shader),但
片元着色器(Fragment Shader)被称为像素着色器(Pixel Shader),但片元着色器是一个更合适的名字, 因为此时的片元并不是一个真正意义上的像素.
- Unity 下载存档
各种版本的UNITY下载 https://unity3d.com/cn/get-unity/download/archive
- jdbc java数据库连接 5)CallableStatement 接口
CallableStatement执行存储过程(也是预编译语言) 首先在sql中执行以下带有输入参数的代码: DELIMITER $ CREATE PROCEDURE pro_findById(IN ...
- MySql 存储过程、触发器和权限问题
存储过程 1.1 什么是存储过程 存储过程,带有逻辑的sql语句 之前的sql没有条件判断,没有循环 存储过程带上流程控制语句(if while) 1.2 存储过程特点 1)执行效率非常快!存储过程 ...
- 3942: [Usaco2015 Feb]Censoring [KMP]
3942: [Usaco2015 Feb]Censoring Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 375 Solved: 206[Subm ...
- EXT总结例子
//页面按钮点击展开隐藏 { 空格 xtype:'fieldset', title:'<b>高级搜索< ...
- windows7配置Nginx+php+mysql教程
windows7配置Nginx+php+mysql教程 最近在学习php,想把自己的学习经历记录下来,并写一些经验,仅供参考交流.此文适合那些刚刚接触php,想要学习并想要自己搭建Nginx+php+ ...