提建议的步骤
- 找到一个你想解决的问题。
- 想出什么是解决这个问题的第一步。这可以是代码、研究、建议的形式,或者建议将其关闭,如果它已经过时或者首先不是一个好主意。
- 在问题上发表评论,概述你建议的第一步,并征求反馈意见。当然,你可以立即开始写代码或测试,但这可以避免潜在的浪费,如果这个问题是过时的,没有明确的规定,在其他方面受阻,或其他方面不准备实施。
- 如果这个问题需要修改代码或修复错误,请打开一个带有测试的PR草案,并征求反馈意见。这可以确保每个人对需要做什么,或者解决这个问题的第一步应该是什么,都在同一起跑线上。另外,由于测试是必须的,先写测试可以很容易地确认这个变化可以被测试。
- 随机地敲击键盘,直到测试通过,并重构,直到代码可以提交。
- 将PR标记为准备审查。
- 根据需要修改PR。
- 最后,合并!
从小处着手
小的改动会让你迅速产生影响,如果你采取了错误的做法,你也不会浪费很多时间。
小问题的想法:
- 添加一个新的测试或测试用例,增加测试覆盖率
- 增加或改进文档
- 找到一个需要更多研究的问题,进行研究并在评论中进行总结
- 找到一个过期的问题并评论它可以被关闭
- 找到一个不应该做的问题,并提供严格的反馈,详细说明为什么你认为是这样的。
尽早和经常合并
把大的任务分解成多个小的步骤,分别取得进展。如果有一个bug,你可以打开一个PR,添加一个失败的忽略的测试。这可以被合并,而下一步可以是修复bug并取消对测试的忽略。做研究或测试,并报告你的结果。将一个功能分解成小的子功能,并逐一实现。
弄清楚如何将一个较大的PR分解成较小的PR,使每个PR都能被合并,是一种非常值得练习的艺术形式。困难的是,每个PR本身必须是一个改进。