编写高质量的Java代码

标签: 质量 java 代码 | 发表时间:2014-01-07 19:29 | 作者:aoyouzi
出处:http://www.iteye.com

Java 开发通用方法和准则

 

不要在变量和常量出现易混淆字母:int i=1l;

不要让常量变成变量;

三元操作符的值类型务必保持一致;

 

避免带有变长参数的方法重载:Java 5 引入了变长参数,varags, 用…表示,变长参数必须是最后一个参数,一个方法不能有多个变长参数;

别让null和空值影响到变长方法,主要出现在在变长方法的重载;

 

少用静态导入:如import static X.X.X.过多的使用可维护性下降

不要再本类中覆盖静态导入的变量和方法,小心编译器的最短路径原则:能在本类中查找到的变量、常量、方法就不会从其他包或父类中查找,确保本类的属性和方法优先。

 

避免在序列化的类在构造函数中为final常量赋值

 

易变业务使用脚本语言编写:可以随时发布不用重新部署

 

基本类型

用偶数判断,不用奇数判断:用i%2==0 不用i%2==1,因为i=-1时会判断成偶数

用整数类型处理货币:先扩大N倍处理运算,展示时除N倍

注意边界:如int n=1000, int input+n<2000,当输入input超过Int最大值后,input+n为负数依然满足条件

不要让四舍五入亏了一方,用RoundingMode类可避免,它可提供Round模式

Java中==是判断2个操作数是不是相等,如果是对象,则判断引用是不是一样

 

类、对象、方法

在接口中不要存在实现代码;

静态变量一定要先声明在赋值

不要复写静态方法

 

构造函数尽量简化,尽可能不抛异常,不做复杂算法

避免在构造函数中初始化其他类

 

使用构造代码块精炼程序:没有任何前缀,直接用{}抱起,编译器会把构造代码块直接插入构造函数的最前端;但遇到this关键字则不插入构造函数。

 

使用静态内部类提高封装性

让多重继承成为现实:用内部类实现

 

让工具类不可实例化:除了设置构造函数为private,还抛异常

 

使用序列化实现对象拷贝

 

覆写equals必须实现HashCOde方法

 

推荐覆写tostring方法

 

字符串

String对象直接赋值,不用new

Java为了避免在一个系统中产生大量String对象,设计了string池。创建机制:创建一个字符串时,先检查池中是否有字面值相等的字符串,有的话则指向该引用;无的话才创建。

Intern方法会检查当前对象在字符串对象池中是否有字面值相等的字符串,有的话则指向该引用;无的话才放在池中。

 

准确适用String、StringBuffer、StringBuilder

String是不可改变的量,创建后不再修改;

StringBuffer是一个可变字符串,StringBuffer的append与String的“+”的区别的,+之后对应的引用变了,StringBuffer的引用不变值在变。

StringBuilder是线程不安全的, StringBuffer是线程安全的

 

建议使用UTF8编码

 

中文字符串排序最好指定Collector排序

Comparator c = Collector.getInstance(Local.CHINA);

Arrays.sort(sre,c)

 

异常

提倡异常封装:尽量try catch 不抛出

采用异常链传递异常

不要再finally中处理返回值

 

多线程合并发

不推荐覆写start方法

不用过时的stop方法停止线程

 

性能和效率

不在循环条件中计算

除非必要,不要克隆对象

调整JVM参数

 

 

 

 

 



已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [质量 java 代码] 推荐:

编写高质量的Java代码

- - 研发管理 - ITeye博客
Java 开发通用方法和准则. 不要在变量和常量出现易混淆字母:int i=1l;. 三元操作符的值类型务必保持一致;. 避免带有变长参数的方法重载:Java 5 引入了变长参数,varags, 用…表示,变长参数必须是最后一个参数,一个方法不能有多个变长参数;. 别让null和空值影响到变长方法,主要出现在在变长方法的重载;.

怎样编写高质量的Java代码

- - ITeye资讯频道
本文来自 LEE的博客,他首先向大家讲述怎样辨别一个项目代码的好坏、如何区分优秀代码和腐化代码,最后给大家讲述如何写出高质量的Java代码. 怎样辨别一个项目代码写得好还是坏. 优秀的代码和腐化的代码区别在哪里. 怎么让自己写的代码既漂亮又有生命力. 接下来将对代码质量的问题进行一些粗略的介绍. 也请有代码质量管理经验的朋友提出宝贵的意见.

怎样编写高质量的java代码

- - Web前端 - ITeye博客
怎样辨别一个项目代码写得好还是坏. 优秀的代码和腐化的代码区别在哪里. 怎么让自己写的代码既漂亮又有生命力. 接下来将对代码质量的问题进行一些粗略的介绍. 也请有过代码质量相关经验的朋友提出宝贵的意见. 代码质量所涉及的5个方面,编码标准、代码重复、代码覆盖率、依赖项分析、复杂度分析. 这5方面很大程序上决定了一份代码的质量高低.

提高你的Java代码质量吧:不要让类型默默转换

- - CSDN博客推荐文章
在Java运算中的类型转换,是先运算在进行类型转换的. System.out.println("月亮照射到地球需要1秒,计算月亮到地球的距离. System.out.println("月亮与地球的距离是:" + dis1 + "米");. System.out.println("太阳照射到地球上需要8分钟,计算太阳到地球的距离.

提高你的Java代码质量吧:警惕数组的浅拷贝

- - CSDN博客编程语言推荐文章
在日常工作中,我们会遇见很多数组的拷贝和复制的问题,但是在你使用系统提供的API进行编码的时候,无形中会留下浅拷贝的隐患. 有这样一个例子,第一个箱子里面与赤橙黄绿青蓝紫7色气球,现在希望第二个箱子也放入7个气球,其中最后一个气球改为蓝色,也就是赤橙黄绿青蓝蓝七个气球. //第二个箱子的小球是拷贝的第一个箱子里的.

Java代码优化

- - ImportNew
2016年3月修改,结合自己的工作和平时学习的体验重新谈一下为什么要进行代码优化. 在修改之前,我的说法是这样的:. 就像鲸鱼吃虾米一样,也许吃一个两个虾米对于鲸鱼来说作用不大,但是吃的虾米多了,鲸鱼自然饱了. 代码优化一样,也许一个两个的优化,对于提升代码的运行效率意义不大,但是只要处处都能注意代码优化,总体来说对于提升代码的运行效率就很有用了.

java代码开发规范

- - BlogJava_首页
格式规范:                                                                      .       1、TAB空格的数量. 编辑器上的TAB空格数量统一取值为4.       2、换行, 每行120字符.       3、if语句的嵌套层数3层以内   .

Java 代码性能优化

- - IT瘾-geek
代码 优化,一个很重要的课题. 可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢. 这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗. 没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了. 代码优化也是一样,如果项目着眼于尽快无BUG上线,那么此时可以抓大放小,代码的细节可以不精打细磨;但是如果有足够的时间开发、维护代码,这时候就必须考虑每个可以优化的细节了,一个一个细小的优化点累积起来,对于代码的运行效率绝对是有提升的.

2011年度最牛逼java代码

- sunseesiu - ITeye论坛最新讨论
作者: 5172306 . 声明: 本文系ITeye网站发布的原创文章,未经作者书面许可,严禁任何网站转载本文,否则必将追究法律责任. 已有 16 人发表回复,猛击->>这里<<-参与讨论. —软件人才免语言低担保 赴美带薪读研.

Java代码编写的30条建议

- - inJava
(1) 类名首字母应该大写. 字段、方法以及对象(句柄)的首字母应小写. 对于所有标识符,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母. 若在定义中出现了常数初始化字符,则大写static final基本类型标识符中的所有字母. 这样便可标志出它们属于编译期的常数. Java包(Package)属于一种特殊情况:它们全都是小写字母,即便中间的单词亦是如此.