十一、编写高质量的代码—开源世界(笔记)

 

本博文为《编写高质量代码—改善Java程序的151个建议》一书的阅读笔记。该书从很多方面给予了编写高质量代码的宝贵经验。而且该书应该是那种开发经验越丰富,体会越深的书籍。在阅读过程中,从该书中收获良多,这里主要作下书籍笔记,有体会的地方加点自己的想法。受限于知识水平,部分内容还没能深刻体会,所以更多更好的内容和具体实例还需要从书中去找寻。

下面为书籍第11章《开源世界》的读书笔记:

一、大胆采用开源工具

选择开源框架和工具需遵循的原则:
1. 普适性原则:选用开源项目时需要考虑项目成员的整体技术水平,不能有太大的跨度或跳跃性,要确保大部分成员都比较熟悉。
2. 唯一性原则:相同的工具只能选择一个或一种,这样避免重复。
3. “大树纳凉”原则:最好选用比较有名的开源项目,这样出现bug时能够较快地解决。
4. 精而专原则:选用开源项目时最好选用“对口”的项目,这样的项目相对做得更加专业些。
5. 高热度原则:项目的热度越高,更新就会越频繁,使用人群也越广,Bug曝光率也越快,修复效率也越快,总之热度高的项目也更好地保持质量或更快地解决问题。

二、推荐使用Guava扩展工具包

Guava是Google基于JDK扩展的开源项目,包括很多实用的处理包:collections,caching,annotations等。

Guava官方教程中文版

三、推荐使用Apache扩展包

Apache扩展包应该使用非常广泛了。常见的有lang包、collections包、IO包等等。

Apache Commons官网地址
Commons Collections官网地址
Commons BeanUtils官网地址
Commons IO官网地址
Commons Lang官网地址

四、推荐使用Joda日期时间扩展包

Joda-time项目日期与时间处理方面非常方便,比使用JDK要简单方便得多。

Joda-time官网地址

五、可以选择多种Collections扩展

Collections作为数据结构的重要组成部分,有很多开源扩展,除了非常常见的Google Collections和Apache Collections,这里介绍几个有个性的扩展包:
1. fastutil 
fastutil主要提供限定值类型的集合以及大容量的集合。
fastutil官网地址链接
2. Trove Trove提供了一个快速、高效、低内存消耗的Collection集合。
Trove for Java托管地址
3. lambdaj
lambdaj是一个纯净的集合操作工具,它不会提供任何的集合扩展,只提供对集合的操作。

六、几个非常好的开源项目网站

1、Github
这个网站应该是目前最火的开源项目托管网站了,非常多有名的项目都托管在上面,而且不少有名的项目也往往Github上面在迁移。 主页地址链接

2、sourceforge
主页地址链接

3、google code
主页地址链接

4、开源中国
国内非常好的项目托管网站。主页地址链接

 

 

你可能感兴趣的:(高质量代码,开源,网站,介绍)