大家好,我是程序员鱼皮,今天给大家分享一个非常有趣的事情。
如标题所言:我的一句话,竟让员工成了几万 star 的知名项目贡献者?!
事情是这样的,为了保证团队同学的代码质量、减少 Bug,每次项目上线前大家都需要提交代码并发起 PR 合并请求。等我或者其他负责人阅读代码并通过后,才能正式合并与上线。
当时,代码小抄项目的开发同学提交了这样一个 PR —— 「fix indexOf 方法修复」,如图:
点进去一看,这位同学之前自己写了一个 StringUtil 工具类,用于查找某个字符第 N 次出现的位置。结果之前写了 Bug,这个 PR 就是来修复 Bug 的。
大家看到上面这段代码,感觉有什么问题么?
反正我看到这段代码时,本能地给出了如下的一句话评论:
根据自己的经验,这属于非常通用的字符串处理功能,完全没必要自己去写算法,因为自己写算法的风险太大了,很容易出现一些边界问题。哝,这次的 Bug 不就是因为自己写算法导致的么?
然后我就在群里问这位开发同学,他表示没有找到现成的方法,所以就自己写了。
但我觉得,一定是有现成的工具类的。尤其是像 Hutool 这种大而全的工具库,很可能就有现成的方法。
问题是怎么找呢?
这要是搁在以前,通过传统搜索的方式估计非常麻烦。但现在不是有 AI 了么?
于是,我用自家产品鱼聪明 AI,问了我自己的 AI 分身。一秒钟他就给出了我想要的答案:
大家也可以试试看:https://yucongming.com
为了确保 Hutool 的工具类方法和我们的需求一致,再进入源码去确认下:
好家伙,这不正是我们需要的么?
所以,还是那句话,尽量不要自己写算法,大多数你遇到的算法类问题,应该都有现成的工具类,比如 Map、Set、Trie、BloomFilter、BitMap 等等。
本来以为这事到此结束了,没想到晚点这位开发同学在群里发来消息,自己竟然给 Hutool 贡献了代码?!
如图,原来他发现了一个注释错误,当然大佬也是会犯错的:
于是这位同学向 Hutool 提了个 PR,并且很快得到了作者的回复和肯定。PR 被成功合并,他成为了 Hutool 这样一个近 3 万 star 的知名开源项目的贡献者,走上了人生巅峰。。。
咳咳,也并没有巅峰,因为想要出现在 GitHub 的贡献者榜单上,还需要贡献更多代码提高自己的排名:
不过我相信这段经历会给这位同学不小的激励,提高了自己的开源意识。之后再用开源项目的时候,会更多地了解源码,说不定有一天成为开源项目的核心 Contributor 也不一定呢?
以上就是本期分享,建议大家也在做项目的过程中,多去了解下别人的开源项目,试着发起一些简单的 PR,加入开源~
👇🏻 点击下方阅读原文,获取鱼皮往期编程干货。
往期推荐