【Java语言特性】编程规范每日一学--20130912

其他语言特性 使用JDK自带的API或广泛使用的开源库,不要自己写类似的功能。
说明:JDK和开源库(例如Apache Commons,Google Guava等)已实现的功能,不要重复实现,避免造成浪费。
新代码不要使用已标注为@deprecated的方法 说明:标注为@deprecated的方法,是由于各种原因被JDK废弃的方法,为了保持兼容性而没有删除,新写的代码应避免使用这些方法,而应该使用JDK推荐的代替方法。

升级到最新的Java 平台版本上,以便获取新特性带来的收益 说明:较新的版本都包含许多让程序员更轻松的改进,你并不需要费力去学习怎样利用所有的新特性,有些新特性不需要你付出任何努力就可以给你带来实惠。

充分利用编译器的告警选项
在C/C++中一条被普遍了解的规则是将编译器告警级别调整至最高并保持告警清零。在Java中该动作通常由静态检查工具如findbugs等完成,而现在一些IDE也增加了很多有价值的告警信息(例如eclipse中对null指针的分析), 将尽可能多的告警选项打开并保持告警正确清零,也有助于代码质量的提高。需要注意的是告警选项缺省情况下未必保存在工程文件中,为了整个团队使用一致的告警选项,需要将之配置到工程中。

使用字符串API时,应注意方法使用的是否是正则表达式 说明:正则表达式所引发的问题趋向于在运行时刻而不是在编译时刻暴露出来。如,String.replaceAll()方法第一个参数接受的是一个正则表达式,当匹配'.'符号时,需使用\.进行转义。

值类(value classes)的设计,可考虑实现Comaprable接口,方便在集合中实现对象的搜索、排序、计算极值等
说明:一旦类实现了Comparable接口,它就可以跟很多泛型算法以及依赖于该接口的集合实现进行协作。你付出很小的努力就可以获得非常强大的功能。 事实上,Java平台类库中的所有值类(value classes)都实现了Comparable接口。如果你正在编写一个值类,它具有非常明显的内在排序关系,比如按字母顺序、按数值顺序或者按年代顺序,那你就应该坚决考虑实现这个接口。 public interface Comparable<T> {         int compareTo(T t);
}

原文地址:https://www.cnblogs.com/tjw-nau/p/3320972.html