欢迎光临散文网 会员登陆 & 注册

专访|Dromara 社区 侯欣雨:代码对所有人都是平等的

2023-11-03 15:49 作者:开源之夏  | 我要投稿


开源之夏专访持续开放中,欢迎已从开源之夏毕业或正在参与开源之夏活动的学生、导师一同加入专访行动,扫描文末二维码填写专访问卷,与大家分享你眼中的开源之夏!

本期采访人物是开源之夏 2023 活动 Dromara 社区中选学生侯欣雨同学,她所承担的项目是为规则引擎 LiteFlow 提供基于 Redis 规则存储适配

项目链接:https://summer-ospp.ac.cn/org/prodetail/23ee40018

# 关于侯欣雨

OSPP:请简单介绍一下自己。

侯欣雨:大家好,我叫侯欣雨,目前在中国科学院大学电子信息专业就读。今年参与了 OSPP 2023 的活动,有幸通过这次活动成为了 Dromara 社区 LiteFlow 项目的 commiter,现在在为项目做一些优化和维护工作。

OSPP:据了解你有着非常丰富的项目经历与获奖经验,这些项目经历和经验对你的学习和深造有什么帮助?你是如何平衡项目、赛事和业余生活的呢?

侯欣雨我在本科的时候参与过数学建模、挑战杯之类的比赛,读研的时候参与了一些项目的开发,也在开发岗实习过一段时间。我觉得做项目首先是可以提升自己的技术水平和实践能力的,很多时候只有在真正做一个项目或是解决一个问题的时候,才能发现并理解那些学过的理论知识;很多问题也只有在实践时才会遇到,从而激励自己去探究,让自己的技术知识更扎实。其次,从最初的不了解到真正完成好一个项目,这种成就感会让我更有动力和信心去做好下一件事。当然,这些经历也会给简历增加不少助力。

至于项目和学习生活的平衡,有时确实是很难在时间上做到平衡的,总体上我觉得最重要的基石永远是工作效率。比如按照“四象限法则”,把事情按照重要和紧急程度划分,均衡到每天完成一部分,在每件事上提高一点效率,其实最终任务都可以完成。如果一天是高效且充实的,对人的精力来说也是一个正反馈。

# 参与开源之夏与开源

OSPP你是如何了解到并决定参与开源之夏活动的?

侯欣雨:我是今年 4 月份在牛客偶然了解到的,后来在 OSPP 官网上查看了一些去年的项目和活动经验分享,意识到这是个很好的增加项目经验、接触业界需要的机会,于是仔细留意了申请时间和报名流程。在正式申请前也看了很多去年的中选项目申请书和今年的备选项目,很多申请书都让我感叹参与活动的同学的优秀,能有行业内专业严谨的导师指导去参与工业界需要的项目对我来说是很有吸引力的。

OSPP开源之夏活动与你之前参与的比赛和项目有什么区别?

侯欣雨从我个人来说,我以前做过的很多比赛是停留在理论层面上的,一些练手的个人项目也大多是为了熟悉技术栈。开源之夏的不同一方面在于他项目是贴近工业需求和用户实际问题的,有大量的用户在真正使用;另一方面是开源的特点使得用户会帮助社区项目发现问题、提出问题甚至解决问题,代码面向的是成千上万的使用者,这造就了开源代码必须要精益求精,不能止步于“能用就行”,这也是这次活动给我最大的锻炼。

OSPP请简单介绍一下你所在的 Dromara 社区?

侯欣雨Dromara 是一个国内许多优秀开源爱好者组建的 Java 开源社区,在我眼里 Dromara 是一个组织规范、友善、年轻、充满潜力和可能性社区。接触到的很多社区成员都是友好且很有实力的开发者,很多求助者的问题都能被很快解答。社区对新人也很包容,有很完善丰富的文档,鼓励大家加入开源。Dromara 每个月的月会都会跟踪一下各个项目的近期任务,讨论下最近的 issue,这样规范负责且有活力的生态也让我更有兴趣和动力去参与开源。项目结项加入社区后,还收到了社区送的奖状水晶碑和 LiteFlow 的 T 恤等周边文创。

关于 Dromara 开源组织

dromara 开源组织是由国内最顶尖的开源项目作者共同组成的开源组织。目前拥有 10+GVP 项目,总 star 数量超过 7 万,构建了上万人的开源社区,有成百上千的公司在使用 dromara 社区的开源项目。

官网:https://dromara.org/

OSPP请简单介绍一下你在本届活动中承担的开源项目,在开发过程中有遇到什么困难与挑战么?你是如何克服的?

侯欣雨这次活动我参与的是“为规则引擎 LiteFlow 提供基于 Redis 规则存储适配”项目。项目用到的技术栈是我很熟悉的,最大的难点在于项目方案的设计以及一些细节上的权衡考量。在 Redis 规则存储支持平滑刷新这个功能上,最初我只简单的考虑使用 Redis 已有的订阅键空间机制实现,但与导师沟通后,我发现开启这个机制会对 Redis 性能造成很大影响,而实际业务场景中,Redis 作为抗高并发、提升性能的中间件,性能损耗是不可接受的。在后续思考其他可行方案时,也发现了不同的方案在实时性和性能等方面无法全面顾及,考虑到不同的用户需求,最终实现了两种方案,交由用户根据情况自行选择。

LiteFlow 是一个测试用例完善且行覆盖率达 90% 的项目,导师曾告诉我“测试用例才是区分一个开源项目优秀与否的关键因素,决定了项目能走多远”,最初我对单元测试的理解并不深,在测试环节也遇到了一些问题,后续在导师的建议下,对核心代码做出了一些调整改进,通过层次和包装来更好的支持测试。这种代码设计思路在后续的许多开发中都可以应用,也让我对代码设计和测试用例都有了更深的理解。

OSPP:在项目开发过程中,导师和社区成员们为你带来了哪些帮助?

侯欣雨整个开发过程中,导师不仅在方案上会给出建议和思路,每次提交的代码还会逐行 review,提出细致的优化建议,导师的一些设计思路也给了我很大的启发。在提交 PR 时,社区成员也会针对性的提出建议,让整体代码更优雅更完善。

OSPP:今后是否打算继续参与开源社区或开源项目?为什么?

侯欣雨之后会继续参与开源社区的活动,这次活动结束后有幸加入了 LiteFlow,参与了一些其他特性的开发,开发过的功能在上线后得到了一些使用者的建议,后续会继续积极维护和完善项目。社区和项目的氛围我也很喜欢,可以接触到很多优秀的开发者,有更多机会感受一个功能的开发在一个项目背后的思考,也希望在开源道路上结识更多优秀的小伙伴。

OSPP:你在参与开源之夏活动的过程中收获了什么?对于开源和开源社区有什么新的认识么?

侯欣雨这次开发是我第一次参与开源,这次经历对我在项目中针对某个需求功能的设计和代码编写能力都有很大的提升。在项目最初的方案设计阶段,导师告诉我需求的框架设计远比具体实现要重要,这让我对开发有了更成熟的理解,对项目整体也有了更多的了解;在实际代码编写上也会更加遵守规范,做到比之前的代码更优雅。第一次参与开源带给我的收获也不仅是技术能力上,加入到开源社区会让我更有兴趣去精进自己的技能,有更多的动力去深入理解一个项目,从而对其优化和改善。

特别要感谢我的导师铂赛东老师,在开发过程中知无不言,耐心解答,认真把控代码质量,给我的思路和优化建议让我学到了很多,老师的鼓励和肯定给了我在开源和技术道路上走下去的信心。老师是个很有开源精神和情怀的人,他的专业和严谨是我作为开发者的榜样。


# 寄语

OSPP你身边了解和参与开源项目的同学多吗?你认为参与开源活动和社区贡献对于在校生的学习和专业提升、就业选择方面有哪些帮助?

侯欣雨:我身边参与开源项目的同学还是不太多,大部分同学可能都会像我最开始一样觉得自己能力不足以参与或是没有意识到自己也可以参与项目共建。开源之夏给了学生一个接触开源的机会,这几年也越来越多人了解到了开源,相信以后开源的参与者会越来越多。

我觉得开源活动对学生的帮助很大,从专业提升角度来说可以接触到一些顶级的项目,从中学习到很多设计思想和实际开发经验,提升自身的工程能力;从就业角度来说,除了增加项目经历,认识到行业内优秀开发者外,开源活动也提供了一个更广阔的视角,会看到很多不止于前后端的不同就业路线,可以从广泛的方向中找到自己的兴趣所在。

OSPP:社区导师对你的评价非常高,你有着良好的代码功底、严谨的逻辑能力以及强大的自主学习能力,可以跟我们分享一下你的学习方法么?对于提高代码质量、沟通问题、解决问题有什么好的建议?

侯欣雨其实没有什么特别的方法,对代码来说我觉得就是多写和多看,多看其他人质量高的代码,再在项目中多写自己的代码,对项目的需求有明确的理解更有助于理清代码的逻辑思路。沟通问题上,我觉得社区成员都很友好,对不理解的地方或者不确定怎么写更好的情况都可以大胆求助,当然前提是在自己已经尝试解决或者搜索过相应问题的基础上,社区内成员对不同解决方案的探讨也能开阔自己的思路。

OSPP:想对正在学习或想要从事技术工作的女生们说些什么呢?

侯欣雨在我之前的实习和日常学习中发现从事开发的女生确实相对来说更少一些,我觉得女生从事技术工作首先就是不要自己给自己设限,不要潜意识认为女生不能做或者做不好技术。在脑力劳动上,女生也并不存在天然相对于男生的劣势,很多时候是自己对自己的不认同影响了自己的表现。代码对所有人都是平等的,只要自己感兴趣并付出足够努力,任何人都可以从事任何喜欢的技术领域,无论是否从事技术都不该束缚住自己~

OSPP:有什么话想对计划参加开源之夏活动的学弟学妹们说?

侯欣雨开源可能对很多人来说还有些陌生,开源之夏给了在校学生一个很好的接触开源的机会,无论是从技术学习还是就业角度上,勇敢的迈出第一步,你会收获一段很值得的经历。开源之夏的项目范围很广,记得要提前关注社区和项目,根据自己的方向和技术栈选择一到两个最感兴趣的项目。对项目和需求有一定了解的基础上,主动与导师沟通很重要,导师的建议很大可能会帮助你更好的写出项目申请书。申请书是决定项目中选与否最重要的因素,可以查看往年一些优秀的中选申请书,最关键的仍然是要从中体现自己对项目的理解、实际的开发能力和完成项目的决心。项目的导师都很开放包容,可以大胆提出问题,积极与导师沟通,更好地融入开源社区。

END

专栏编辑:大梦

校对:校大山、侯欣雨

制图:GoodWhite

专栏投稿请联系开源小助手:kaiyuanzhixia 或专栏编辑:Hungryfish34(备注“专栏投稿”加速通过),或填写下方专访信息收集问卷。


专访|Dromara 社区 侯欣雨:代码对所有人都是平等的的评论 (共 条)

分享到微博请遵守国家法律