面向JS开发者的开源贡献:如何开始贡献并避免踩坑

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

JavaScript开源贡献:如何停止阅读别人的代码并开始改进它

\n\n

你是否曾经查看过node_modules并想:“如果我能修复它呢?”或者在你喜欢的库中遇到一个bug,想要提交修复,但不知道如何着手进行开源贡献?欢迎加入这个俱乐部。每两个JavaScript开发者中就有一个人至少曾梦想过提交自己的第一个pull request,但因为害怕“搞砸了”而一再推迟。

\n\n

好消息是:开源贡献不在于英雄主义或超级复杂的代码。它在于帮助他人的意愿和一点勇气。今天我们将讨论如何开始为JavaScript项目做贡献而无需承受过多压力。是的,我将展示真实的代码,而不是抽象的示例。

\n\n

为什么应该立即开始贡献?

\n\n

有三个理由可以压倒任何恐惧:

\n\n
    \n
  • 提升技能:你将阅读顶级开发者的代码,而开源中的代码审查通常比工作中更严格。这是免费的指导。
  • \n
  • 作品集:你的GitHub将不再是一片空白。每一个被接受的PR都是简历上的一行,招聘人员一眼就能看到。
  • \n
  • 社区:你将结识那些编写你每天使用的工具的人。这是全新层次的人脉拓展。
  • \n
\n\n

但最重要的是——JavaScript开源贡献不需要你是专家。只需要有钻研的意愿和一点耐心。

\n\n

恐惧#1:“我的代码会被嘲笑”——为什么这不是真的

\n\n

最常见的障碍是冒名顶替综合症。感觉周围都是天才,而自己还在学习。实际上,在任何大型开源JavaScript项目中,都有适合新手的任务。许多项目会特意贴上good first issue或help wanted的标签。

\n\n

即使你只是修正文档中的一个拼写错误——这已经是贡献了。说真的。文档是任何项目的痛点,为改进文档你得到的感谢会比复杂的重构更多。

\n\n

分步计划:如何做出第一个开源贡献

\n\n

步骤1. 找到一个你关心的项目

\n\n

如果你不经常使用React或Vue,就不要去碰它们。寻找你自己使用的工具。可以是:

\n\n
    \n
  • 表单验证库
  • \n
  • 构建工具插件
  • \n
  • 代码编辑器主题
  • \n
  • CLI工具
  • \n
\n\n

访问GitHub,打开Issues选项卡,按good first issue标签筛选。如果项目不在列表中——搜索JavaScript open source projects for beginners。有一些专门的聚合网站,比如up-for-grabs.net或goodfirstissue.dev。

\n\n

步骤2. 阅读CONTRIBUTING.md

\n\n

这是圣杯。里面写着:

\n\n
    \n
  • 如何fork仓库
  • \n
  • 代码格式规则
  • \n
  • 如何命名提交
  • \n
  • 提交PR前需要运行哪些测试
  • \n
\n\n

忽略这个文件是新手在代码审查中被拒的主要原因。

\n\n

步骤3. 找到一个你能胜任的issue

\n\n

理想的第一个issue是:

\n\n
    \n
  • 修正文档中的拼写错误
  • \n
  • 添加测试
  • \n
  • 改进错误消息
  • \n
  • 重构一个小函数
  • \n
\n\n

来自真实项目的示例(假设是一个日期处理库):

\n\n
// 之前:函数返回"Invalid Date"没有解释\nfunction parseDate(str) {\n  const date = new Date(str);\n  if (isNaN(date.getTime())) {\n    return "Invalid Date"; // 不清楚哪里有问题\n  }\n  return date;\n}\n\n// 之后:清晰的错误消息\nfunction parseDate(str) {\n  const date = new Date(str);\n  if (isNaN(date.getTime()))                

博客

书籍推荐