首页/开发/代码质量与评审速查/Google Java Style:100 列与 2 空格
规范与静态检查65 条

Google Java Style:100 列与 2 空格

Google Java 风格指南:行宽上限 100、缩进 2 空格、K&R 括号风格、常量 UPPER_SNAKE_CASE;由 google-java-format 等工具落地执行。

Google Java Style 是什么

Google Java 风格指南规定 Java 代码的格式基线:行宽上限 100 列、缩进 2 个空格、K&R 括号风格、常量用全大写下划线命名。它由 google-java-format 这类工具落地执行,评审里也就不必再讨论空格与换行该怎么放。

基本信息

行宽100 列
缩进2 个空格,不使用制表符
括号K&R 风格,左括号不换行
命名类 UpperCamel、方法 lowerCamel、常量 UPPER_SNAKE_CASE

典型使用场景

  • 新项目定基线:引入格式化工具,一次把风格争议清零
  • 存量项目引入:全库格式化单独成一次提交,不与逻辑改动混合
  • 评审时减少噪声:风格交给工具,注意力留给设计与命名
  • 多仓库统一:同一份风格配置复制到各仓库保持一致
  • 与 Checkstyle 分工:格式由格式化工具管,规范由检查器管

落地顺序

  • 先确定基线与格式化工具的版本
  • 全库格式化作为独立提交,不与业务改动混在一起
  • 把格式检查接进 CI,形成不可跳过的门禁
  • 同步编辑器配置,减少保存时的格式抖动

风格示例

风格示例
public class RetryPolicy {
  private static final int MAX_ATTEMPTS = 3;

  public boolean shouldRetry(int attempt) {
    return attempt < MAX_ATTEMPTS;
  }
}

常见分歧点

项目Google 风格常见替代
行宽100 列80 列或 120 列
缩进2 个空格4 个空格
左括号位置跟在行尾另起一行
格式交给工具,评审把注意力留给设计、命名与边界条件,这是引入格式化工具最直接的收益。
风格讨论应该发生在引入工具之前:基线与版本定下来之后,后续评审就不必再为空格和换行反复花时间。
格式交给工具之后,评审意见可以集中在命名语义、边界条件与错误处理上,这些都是工具看不出对错的地方。
Sun 风格与 Google 风格混用:格式工具持续告警,团队开始在本地手工调整代码。

易错点

  • 两种风格混用:格式工具持续告警,提交里混入大量无意义改动
  • 缩进符未统一:制表符与空格并存,差异视图噪声显著增加
  • 全库格式化与业务改动混在一次提交:评审无法分辨逻辑变化
  • 格式化工具版本不锁:升级后全库重排,历史 blame 记录被冲掉
  • 让评审者手工检查格式:同一份代码在不同人眼里结论不同,返工次数明显增加

数据来源与参考

  • Google Java Style Guide(google.github.io/styleguide)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌