`
wdmcygah
  • 浏览: 62478 次
社区版块
存档分类
最新评论

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

    博客分类:
  • J2SE
阅读更多

 

本博文为《编写高质量代码—改善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、开源中国
国内非常好的项目托管网站。主页地址链接

 

 

1
0
分享到:
评论

相关推荐

    懒人笔记 一个 iOS 开源笔记 App.zip

    《懒人笔记:一个iOS开源笔记App的深度解析》 懒人笔记,作为一个曾经活跃的iOS开源项目,为开发者提供了一个便捷的、可定制化的笔记应用框架。虽然它已不再维护,但其代码库仍能为我们揭示iOS应用开发的一些关键...

    Google开源风格指南学习笔记-c++代码规范

    ### Google开源风格指南学习笔记——C++代码规范详解 #### 避免多重包含与使用前置声明 在C++开发中,避免多重包含是至关重要的,因为它可以减少编译时间并降低代码之间的依赖关系。当一个头文件被多次包含时,...

    java云笔记代码与文档

    【Java云笔记代码与文档】项目是一个以Java技术为核心的云端笔记应用实现,旨在提供一个便捷、高效的在线笔记存储和管理平台。在这个项目中,开发者利用Java的特性与强大的开源库,构建了一个支持多用户、多设备同步...

    (强烈推荐大家看一看)高质量C++编程指南(有笔记)_a

    《高质量C++编程指南》是一本深受欢迎的C++学习资料,特别适合初学者作为入门教程。这本书结合了丰富的编程经验和实例,旨在帮助读者掌握C++编程的核心概念、语法和最佳实践。通过阅读这本书和相应的笔记,学习者...

    高质量程序设计指南:C、C++语言(第3版)

    它不仅涵盖了基础语法、高级特性,还深入探讨了如何编写高质量代码的方法与技巧。本书旨在帮助读者掌握优秀的编程实践,并能够在实际项目中应用这些知识,提升软件质量和开发效率。 #### 二、核心知识点概览 #####...

    C#编的笔记本Wifi无线网络共享软件(带源代码的)

    源代码是程序员编写的应用程序的原始指令集,对于初学者和高级开发者来说都是宝贵的资源,他们可以通过阅读和分析源代码来了解软件的工作原理,学习编程技巧,或者为软件添加新功能。 "代码写的不怎么好,请各位...

    高质量C++编程指南

    从给定的文件信息来看,标题与内容存在明显的不匹配,标题提到的是“高质量C++编程指南”,然而内容却是关于法语学习的笔记。这里,我们将重点放在标题和描述所暗示的知识点上,即C++编程的相关知识。 ### 高质量...

    SourceReading:优秀项目源代码阅读及笔记,总结

    6. **测试与调试**:源码中包含的单元测试和集成测试代码,展示了如何编写高质量的测试用例,以及如何进行有效的调试。 7. **版本控制**:项目可能使用Git进行版本管理,通过查看提交历史,可以了解项目的发展历程...

    Java demo 算法笔记

    合理使用代码生成器,可以使开发者更专注于业务逻辑的实现,而不是繁琐的代码编写。 总的来说,这份"Java demo 算法笔记"涵盖了Java开发的多个重要领域,无论你是初学者还是有经验的开发者,都可以从中获益。通过...

    django笔记 django笔记

    Django是Python编程语言中的一款强大且流行的Web框架,它以“快速开发”和“约定优于配置”的理念为核心,让开发者能够高效地构建高质量的Web应用程序。本笔记将深入探讨Django的基础概念、核心功能以及实际应用。 ...

    开源项目-marijnfs-YAWN.zip

    总之,marijnfs-YAWN是一个使用Go语言开发的开源笔记服务器,它借助leveldb存储数据,利用mathjax展示数学公式。这个项目不仅为用户提供了一个便捷的笔记工具,也为开发者提供了一个学习和实践Go语言、数据库管理和...

    安卓笔记——安卓详细笔记汇总

    在安卓开发的学习过程中,积累详尽的笔记是提升技能的关键步骤。这份名为“安卓笔记——安卓详细笔记汇总”的资源,无疑是安卓...通过深入学习和实践,开发者可以逐步掌握这个强大的移动平台,创作出高质量的安卓应用。

    RiceQuant开源框架RQAlpha阅读笔记.docx

    这对于开发高质量的量化交易策略至关重要。 综上所述,RQAlpha通过一套完善的技术栈和支持工具为用户提供了强大的量化研究平台。无论是从数据管理、策略开发还是实盘交易等方面都具有很高的实用性和灵活性,是量化...

    Android应用源码之小米便签源代码分享.zip

    【Android应用源码之小米便签源...通过研究小米便签的源代码,开发者可以学习到Android应用开发的各个方面,包括但不限于UI设计、数据管理、网络通信、性能优化等,这对于提升个人技能和开发高质量应用具有很大价值。

    hadoop学习笔记.rar

    通过MRUnit,可以在不实际运行Hadoop集群的情况下,对代码进行测试,提高了开发效率和代码质量。 四、hadoop学习笔记之二:MapReduce基本编程 MapReduce编程模型包括Map阶段和Reduce阶段。Map阶段将输入数据分解为...

    Linux 应用开发流程详细笔记

    9. **测试与调试**:使用GDB进行程序调试,编写单元测试和集成测试以确保软件质量。 10. **文档编写**:良好的文档记录能帮助团队成员理解和维护代码,因此需要编写清晰的API文档和开发指南。 以上是Linux应用开发...

    前端开源库-searchdoc

    4. **开源项目**:开源项目可以利用搜索Doc生成高质量的文档,便于社区用户理解和参与。 ### 四、进阶使用 1. **插件系统**:搜索Doc可能还支持插件扩展,允许开发人员添加额外的功能或集成其他服务。 2. **版本...

    Rust 学习笔记.zip

    同时,doc测试和rustdoc工具帮助开发者创建高质量的API文档。 在rust-notes-master中,你可以期待找到这些概念的详细解释,以及示例代码和实践练习,逐步深入Rust的世界。通过学习这个开源项目,你将能够掌握Rust...

    传智播客mybatis笔记

    通过以上介绍可以看出,MyBatis不仅简化了Java应用程序与数据库之间的交互过程,而且还提供了许多高级特性,如动态SQL、对象映射等,极大地提升了开发效率和代码质量。在实际开发过程中,合理利用MyBatis的各项特性...

    耶鲁大学C语言和数据结构笔记

    编译工具可以检查代码的语法错误和逻辑错误,帮助编程者编写高质量的代码。 调试工具 调试工具是用于检测和 Debug 程序的工具,例如GDB调试器。调试工具可以帮助编程者发现代码中的错误,提高代码的可靠性和质量。...

Global site tag (gtag.js) - Google Analytics