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 开发规范文档 一:目的 使本组织能以标准的,规范的方式设计和编码.通过建立编码规范,以使每个开发人员 养成良好的编码风格和习惯:并以此形成开发小组编码约定,提高程序的可靠性,可读性, 可修改性 ...
随机推荐
- XLT格式化XML那点事(C#代码中的问题解决)(二)
接上篇<XML通过XSL格式化的那点事(XML到自定义节点折叠显示)>,本文就如何将大的XLST分割成小文件和如何用C#将XML通过XSL生成HTML文件中的问题做下分析,避免有同样需求的 ...
- Chrome插件: 网站收藏
在工作中我们会收藏很多网址.以前一直都是用的chrome里面的收藏夹.后面觉得一点都不方便.看一下Chrome插件开发挺容易入手的所以自己写了一个Chrome插件. 基于:Angularjs + ...
- 一道算法题目, 二行代码, Binary Tree
June 8, 2015 我最喜欢的一道算法题目, 二行代码. 编程序需要很强的逻辑思维, 多问几个为什么, 可不可以简化.想一想, 二行代码, 五分钟就可以搞定; 2015年网上大家热议的 Home ...
- OpenStack 企业私有云的若干需求(6):大规模扩展性支持
本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云( ...
- 3.开发Java消息驱动bean实例代码
java消息服务(JMS)是用于访问企业消息系统的开发商中立的API.企业消息系统可以协助应用软件通过网络进行消息交互.应用程序A发送一条消息到消息服务器的某个目的地(Destination),然后消 ...
- c# 传递Null的string值导致的调用C++的dll报错 Attempted to read or write protected memory.
c# 调用C++的dll报错 Attempted to read or write protected memory: 原因是:c# 传递Null的string值导致的,将Null改为string ...
- Asp.Net MVC3 简单入门详解过滤器Filter(转)
前言 在开发大项目的时候总会有相关的AOP面向切面编程的组件,而MVC(特指:Asp.Net MVC,以下皆同)项目中不想让MVC开发人员去关心和写类似身份验证,日志,异常,行为截取等这部分重复的代码 ...
- 读书笔记---《火球:UML大战需求分析》
书评 作为一本UML和需求分析的入门书来说还算可以,写的比较接地气,如果是做过很多项目的读者,很容易找到共鸣点. 美中不足:部分概念可能有错误,其中对于Component和Artifact的解释明显和 ...
- Android BLE 蓝牙编程(三)
上节我们已经可以连接上蓝牙设备了. 本节我们就要获取手环的电池电量和计步啦. 在介绍这个之前我们需要先了解下什么是 服务 什么是 UUID 我们记得上节中我们item监听事件的回调的返回值是Bluet ...
- BeautifulSoup 的用法
转自:http://cuiqingcai.com/1319.html Beautiful Soup支持Python标准库中的HTML解析器,还支持一些第三方的解析器,如果我们不安装它,则 Python ...