Python基础
- 计算机教育中缺失的一课: https://missing-semester-cn.github.io/ (vim,数据整理,元编程,安全和密码学 可跳过)
- 计算机自学指南:https://github.com/PKUFlyingPig/cs-self-learning
- Python for Everybody:https://www.py4e.com/book.php,网页里有中文版和 B 站视频链接
- Effective Python:Effective Python
- Python 设计模式案例: https://github.com/faif/python-patterns?tab=readme-ov-file
项目管理
Git与分布式版本控制
- Git 之书:阅读前七章,第四章跳过,第七章大概看看
- 在 GitHub 上创建一个 Pull Request
- 北大开源软件开发/技术相关资料
- 使用沙盒熟悉 Git 的基本操作
- 关于使用 Git 的工作流强烈建议看这篇博客,工作原理可以参考这里
贡献开源软件
开源软件通常欢迎各种类型的贡献,包括:
- 参与讨论
- 找到并提出bug
- 贡献代码
- 贡献使用案例
- …
Note
本团队深度参与 Mesa, Mesa-Geo, ABSESpy三个项目,如果要对它们进行代码贡献,请参考 Mesa 项目的贡献指导文档
找到贡献点
在开始贡献之前,首先需要找到适合的贡献点。以下是一些方法来识别这些机会:
- 浏览问题列表:访问项目的 GitHub 仓库,查看“Issues”标签。许多项目会标记适合新贡献者的问题,例如“good first issue”或“help wanted”。
- 阅读项目文档:项目的 README 和贡献指南通常会提供有关如何参与的详细信息。
- 参与社区讨论:加入项目的讨论平台(如讨论区或邮件列表),了解当前的需求和优先事项。
- 使用项目:在使用项目的过程中,注意任何可能的改进或错误。
讨论可行性
在确定了潜在的贡献点后,下一步是与项目维护者和社区讨论你的想法。这可以帮助确保你的贡献是有价值的,并且不会与其他正在进行的工作冲突。
可用的技术手段包括:
- 使用类图进行原型设计:通过类图展示你的设计思路,帮助其他人理解你的想法。
- 使用流程图:如果你的贡献涉及复杂的逻辑或流程,使用流程图来清晰地展示步骤和决策点。
- 将你的解决方案在 GitHub 的 issue 上提出,供参与者和其他有经验的开发者讨论。
- 创建草稿 PR:展示你的初步工作并征求反馈(不推荐,除非对有经验的开发人员,或者修较小的bug,否则不推荐直接开写代码)
实施路线解析
在获得社区的反馈和认可后,开始详细规划你的实现步骤:
- 分解任务:将你的贡献分解为更小的任务,以便于管理和实现。
- 设定时间表:为每个任务设定合理的时间框架,确保按时完成。
- 编写代码:按照计划编写代码,确保遵循项目的编码规范和风格指南。
测试与质量控制
在提交你的贡献之前,确保它经过充分的测试和质量控制:
- 编写测试用例:为你的代码编写单元测试和集成测试,确保其功能正确。
- 运行现有测试:确保你的更改没有破坏现有的功能。
- 代码审查:邀请其他开发者审查你的代码,提供改进建议。
提交贡献
完成所有准备工作后,提交你的贡献:
- 创建 Pull Request:创建 GitHub Pull Request 详细描述你的更改和贡献点。
- 响应反馈:积极响应维护者和其他贡献者的反馈,进行必要的修改。
- 合并更改:在获得批准后,合并你的更改到主分支。