十一、编写高质量的代码—开源世界(笔记)
来源:互联网 发布:六级听力 知乎 编辑:程序博客网 时间:2024/04/28 17:47
本博文为《编写高质量代码—改善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、开源中国
国内非常好的项目托管网站。主页地址链接
- 十一、编写高质量的代码—开源世界(笔记)
- 二、编写高质量的代码—数据类型(笔记)
- 十二、编写高质量的代码——思想为源(笔记)
- 编写高质量代码——笔记
- 编写高质量代码:改善C++程序的150个建议(十一)
- [编写高质量iOS代码的52个有效方法](十一)系统框架
- 摘自《编写高质量代码:改善Java程序的151个建议》第十一章 开源世界
- 编写高质量的代码(1)
- 编写高质量的代码(2)
- 三、编写高质量的代码—类、对象和方法(笔记)
- 六、编写高质量的代码—枚举和注解(笔记)
- 五、编写高质量的代码—数组和集合(笔记)
- 编写高质量的代码
- 编写高质量的代码
- 编写高质量代码、学习笔记——CSS篇
- 编写高质量代码、学习笔记——Javascript篇
- 一、编写高质量的代码—Java开发中通用的方法和准则(笔记)
- 编写高质量iOS和OS X代码的52个有效方法(笔记一)
- Mybatis实用Mapper SQL汇总示例
- C++primer plus第六版课后编程练习答案10.5
- windows server 2003 DHCP服务迁移到server2008
- 十二、编写高质量的代码——思想为源(笔记)
- Mybatis Oracle 批量插入数据的方法
- 十一、编写高质量的代码—开源世界(笔记)
- 任意数组的输入
- android学习笔记19 - 字符串String的截取、分割、替换
- 一、编写高质量的代码—Java开发中通用的方法和准则(笔记)
- android viewpage的使用
- 二、编写高质量的代码—数据类型(笔记)
- 三、编写高质量的代码—类、对象和方法(笔记)
- 六、编写高质量的代码—枚举和注解(笔记)
- 更改Splitter控件颜色