跳到主要内容

如何参与贡献

贡献主要通过 IssuePull Request 进行。局部修复、文档勘误、示例修正通常可以直接提 PR;公共接口、运行语义、并发行为、驱动热路径和大范围重构,先开 Issue 说清楚目标和边界。

Issue

Issue 至少写清楚这几件事:

  • 现象或目标
  • 影响范围
  • 复现条件或使用场景
  • 预期结果

缺陷类问题不要只写“这里有 bug”;重构类问题不要只写“这里想改一下”。评审者需要先判断这是局部修复、语义调整,还是结构变更。

Pull Request

PR 只处理一个主题。正文直接写四项即可:

  • 改了什么
  • 为什么改
  • 怎么验证
  • 哪些部分还没验证

小修复不需要长篇说明,但也不要只留一个标题。驱动、并发、性能相关改动,正文里要能看出影响路径。

## What
- fix uart BLOCK timeout wakeup path

## Why
- late completion may post an expired waiter

## Verify
- build linux test
- run related regression

## Not Verified
- no board-side verification on CH32

讨论边界

以下改动先讨论再动手:

  • 公共接口变更
  • 已有语义调整
  • 跨平台公共层改动
  • 驱动热路径重写
  • 大范围重构

以下改动通常可以直接提 PR

  • 明确的 bug fix
  • 文档补充或纠错
  • 示例代码修正
  • 局部测试补充
  • 不改变语义的整理类修改

验证

代码改动至少要保证能编译;驱动、并发、性能相关改动补对应验证;文档改动至少检查链接、目录和预览。没有验证的部分可以保留,但要明确写出。