编码规范

师成师成· 更新于 2026-09-28· 阅读 2 分钟· 0 次阅读

登录后可跨设备保存划线和私人笔记登录

Thrift 编码规范

任何傻瓜都能写出计算机能理解的代码。优秀的程序员写出的代码是人类能理解的。——马丁·福勒(Martin Fowler),1999 年

本文档的目的是让每个人的生活变得更轻松。

当你阅读良好、格式规范、目的明确的代码时,会轻松许多。但要读懂整洁的代码,唯一的办法就是写出这样的代码。

本文档可以帮助实现这一目标,但请记住,这些并非一劳永逸的万能规则。写代码时只需多考虑可读性。要像十年后还得回头阅读它那样来编写代码。

通用编码规范

Thrift 有着较长的历史,并非所有现有代码都遵循这些规则。但我们希望随着时间的推移不断改进。在进行小改动或修复缺陷时——例如只修改一行——请不要重构整个函数。那会打乱代码仓库的历史记录。而在添加新内容和/或进行较大规模的重构时:

  • 请尽可能严格地遵循这些规则。

如有疑问,请联系其他开发者(使用 dev@ 邮件列表或 IRC)。代码评审是提升可读性的最佳方式。

基础

  • 使用空格,不要使用制表符
  • 文件名和目录名中只使用 ASCII 字符
  • 向代码仓库提交时使用 Unix 风格的换行符(LF)。在 Windows 上:git config core.autocrlf true
  • 最大行宽为 100 个字符
  • 除非语言特定规范另有规定,否则缩进/制表使用 2 个空格
  • 每个文件开头都必须包含一段注释,注明 Apache 许可证
  • 库的公共 API 应当有文档说明,最好使用与语言相关的文档生成工具(Javadoc、Doxygen 等)所原生支持的格式
  • 不建议写其他注释——注释是谎言。当一个人不得不写注释时,说明他未能写出可读的代码。与其想"我应该在这里写注释",不如想"我应该把这段代码整理干净"
  • 不要留下"TODO/FIXME"注释——请改为提交 Jira 问题单

命名

找到合适的名字是软件开发中最重要的、也是最困难的任务。

各语言特定的编码规范

详细信息参见 lib/LANG/coding_standards.md


评论

登录后参与评论

正在加载评论…