关于“参与开源项目开发”的一点感想

2022-09-25 17:05:46 +08:00
 Johnathan

现在有很多知乎文章或者卖课老师,一遇到新手问“没有工作经验如何找项目经验“,就会提出“在 github 上找一个自己感兴趣的项目,然后参与进去”。 以前我也相信这个说法。但是现在计算机专业本科毕业 3 年之后,我发现这就是个伪命题。

我的观点是:参与开源项目开发,本身就是一件门槛很高的事情。 我们这里讨论的是有效代码的贡献,不包括修改错别字,缩进,修改错误变量名等等的贡献。

github 里星星比较多的项目分为两类: 一类是框架类,包括 spring,vue 等等, 一类是具体的开箱即用的项目,比如商城,量化投资工具,或者是脚手架比如 ruoyi 那种解决方案。

对于新手来说,以上两类框架都十分复杂,根本看都看不懂,更别提什么贡献了。而对于更多的所谓的编程学习网站 /视频来说,很多都是从变量名开始讲,基础语法,异常处理等等过完之后,也不提供什么具体的实操实战项目,导致学生学完就是一阵空虚,最后背八股文去了。

如果新手是为了学习某个语言或者框架,那么目标不应该是“参与开源项目开发”,而应该是“由老师或者有经验的人,寻找或者开发某个项目,然后带领学生一起学习项目细节”。重点不应该是“参与”而是“学习”。但这种项目真的很少。有的人把项目放到 github 上,文档也懒得写(就是我了),是因为大部分能力强一些的人,一定是有自己的本职工作要做。业余时间提供的精力真的不够用。而这种项目并不适合新手去学习的。

另外,如果新手在没人指导的情况下,打开 github ,一头钻进 spring 框架,或者 ruoyi 项目里,代码看的云里雾里的,很容易打击学习自信心。

另外,我发现那些建议“参与开源项目开发”的所谓老师们,几乎都是 web 前端。可能环境比较好搭?

2018 次点击
所在节点    GitHub
7 条回复
Johnathan
2022-09-25 17:09:48 +08:00
现在的开源更像是企业项目的宣传栏,个人项目的炫技舞台,但这些对新手都很不友好。
ersic
2022-09-25 17:44:17 +08:00
炫技舞台就对了,明明白白炫出来你都学不到,非要掰开嚼碎了喂到嘴里?谁也没有这样的义务。
shanyuhai123
2022-09-25 17:51:08 +08:00
你开头就总结了是伪命题了,连完成一个系统的经验都没有,哪里能理解别人的设计?
新手本来就是在老手指导的情况下完成开发。大部分时候完成业务的填充,然后再被指派一些有挑战的功能,老手会给出一些提示,需要关注某些难点,新手再踩过几个项目几个难点后一点点的过渡为老手。
hsfzxjy
2022-09-25 17:52:41 +08:00
不同领域的氛围不一样。

我在 rust 社区看到的开源小工具 /库,很多都很实用而且不复杂,可以参与进去修个 bug 或交个 feature
waterlaw
2022-09-25 21:20:50 +08:00
要有老手带,我光看 github 上那些 issue 都很吃力,而且缺陷你提了,可能轮不到你修复,项目的维护成员比你更熟悉代码。
chuck1in
2022-11-07 10:13:05 +08:00
新人根本不可能看得懂那些大型开源项目的代码。
anan1314git
2022-12-15 18:34:33 +08:00
不要贪大而全的项目, 找那种只解决一小块功能点的项目参与, 才会好下手一些

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/882818

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX