大胆采用开源工具(转)

简介: 下面为书籍第11章《开源世界》的读书笔记: 一、大胆采用开源工具 选择开源框架和工具需遵循的原则:1. 普适性原则:选用开源项目时需要考虑项目成员的整体技术水平,不能有太大的跨度或跳跃性,要确保大部分成员都比较熟悉。

下面为书籍第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、开源中国
国内非常好的项目托管网站。主页地址链接

 

http://wdmcygah.iteye.com/blog/2184709

 

相关文章
|
11月前
|
机器学习/深度学习 人工智能 运维
工程与产品的胜利,深度剖析ChatGPT和聪明地设计基础架构
工程与产品的胜利,深度剖析ChatGPT和聪明地设计基础架构
120 0
|
11月前
|
搜索推荐 算法 API
4个工具,让 ChatGPT 如虎添翼!
4个工具,让 ChatGPT 如虎添翼!
|
SQL 人工智能 运维
ChatGPT软件技术栈解密
ChatGPT 点燃了通用AI浪潮,继农业革命、工业革命、计算机技术革命后,也将可能掀起 AI 技术革命。业界对 ChatGPT 的 AI 算法关注得比较多,但是 OpenAI 已经演变为服务数亿用户的平台服务。近3个月 ChatGPT 的 SLA 大约99%,也就是说平均每天大约有15分钟不可用,整体技术架构和可靠性也备受关注。ChatGPT 没有对外正式分享他们的技术架构,所以很难100%准确知道架构大图,本文尝试从以下:互联网公开信息(twitter、linkedIn等)、OpenAI 最新招聘岗位要求、OpenAI 几次故障报告、Github 代码、绘制了 ChatGPT 的技术架构。
422 2
ChatGPT软件技术栈解密
|
测试技术
深聊自动化测试之:10年小鱼给你10条建议,让你在自动化界占据一个墙角
深聊自动化测试之:10年小鱼给你10条建议,让你在自动化界占据一个墙角
99 0
|
测试技术
【软件测试基础理论】软件内卷早已存在!(非功能-可移植性)
【软件测试基础理论】软件内卷早已存在!(非功能-可移植性)
|
数据可视化 数据安全/隐私保护 Python
开发了一款小众开源工具,没想到还有这么多人用!
由于 Gitee Pages 的访问速度很快,很多朋友会选择 Gitee Pages 部署项目(如:个人博客、开源项目国内镜像站点)。但是它不像 GitHub Pages 那样,一提交代码就能自动更新 Pages,因为 Gitee 的自动部署属于 Gitee Pages Pro 的服务。
276 0
开发了一款小众开源工具,没想到还有这么多人用!
|
NoSQL 程序员 应用服务中间件
如何通过开源让自己的技术水平更上一层楼
  本篇内容选自 Gitee 发起,邀请全体开源爱好者共同参与的开源百科编写项目《开源指北》。   什么是开源,相信前面的章节已经说的非常清楚了。开源作为一种贡献技术的方式,对整个技术界和开源社区的正向回馈是巨大的。近 10 年来,越来越多的项目加入了开源界。其中有许许多多的知名开源项目被人所认可和追捧。   操作系统:Linux,Android编辑器:Vim,Emacs,Atom,VSCode版本管理:SVN,Git,Fossil数据库:MySQL,MongoDB,Redis大数据平台:Hadoop,ElasticSearch,HBase容器:Apache,Nginx虚拟化软件:Dock
103 0
|
消息中间件 运维 前端开发
做一个优秀的开源项目,需要注意哪些方面?
如果你想发布一个开源库,请确保它有以下特点: 清晰的依赖性和安装说明 至少有一个简要的文档指南 修改日志和仓库中的标签 关于支持的语言、运行时、工具版本的信息和项目的成熟度 一个可以让用户提问和交流的邮件列表 缺少任何一项都会造成一些用户的愤怒和沮丧,当然同时也浪费了时间。
308 0