This repository has been archived on 2024-11-18. You can view files and clone it, but cannot push or open issues or pull requests.
kernel-dev-old/docs/contribution.md

1.3 KiB
Raw Blame History

向Metaverse内核贡献代码

通过如下方式向内核增加你的代码:

  • github仓库Random World Studio内部仓库创建一个分支
  • 在你的分支中增加代码
  • 测试你增加的代码的正确性,并尽量确保对原有代码没有影响
  • 无需在注释中加入代码更改日志git可以做到
  • 在文档的适当的位置增加对新特性的描述
  • 完成编码和文档的工作后向主仓库发送PR
  • 等待审核代码

若你的代码通过审核将会把你的PR合并到主分支中。

需要注意的还未解决的问题

  • rust中所有有关字符串格式化的宏中出现超过一个不止是{}的格式化占位符时内核必然崩溃。
  • rust中所有有关字符串格式化的宏中出现需要调用自定义的Debug trait的类型时内核必然崩溃,推荐定义ToString trait并调用.to_string()后传入宏参数。
  • 鉴于以上两条原因,不建议在复杂的字符串格式化任务中使用format!()宏。推荐通过使用::kernel::tty::tty::MessageBuilder构造kernel::tty::tty::Message对象,或使用 message宏,并调用此对象的.to_string()方法实现格式化字符串。