CodeRoadMap
首页路线题库资源库文章社区
CodeRoadMap

程序员的学习成长路线图。内容免费开放,登录后可同步路线图与课时进度。

由 程序员柏风 独立维护 · 关于作者

学习

  • 路线图
  • 课程
  • 面试题
  • 文章
  • 我

更多

  • 资源
  • 社区
  • 关于作者
  • 内容说明

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
代码质量与工程实践/课时/风格与规范
RawBlame
课时目录12 节

代码质量与工程实践

  1. 01代码质量是什么
  2. 02代码审查
  3. 03重构基础
  4. 04代码坏味道
  5. 05文档生成
  6. 06风格与规范
  7. 07Pull Request 流程
  8. 08质量与测试
  9. 09静态分析工具
  10. 10技术债务
  11. 11团队规范
  12. 12综合练习

风格与规范

Linter、Formatter、团队约定。

25 分钟

风格与规范

「用 tab 还是 space」不该在 PR 里争论。Linter 查问题、Formatter 统一排版,让 Review 聚焦逻辑。团队规范写进配置文件,CI 强制执行,比口头约定可靠。

学习目标

  • 区分 Linter 与 Formatter 的职责
  • 了解 Java(Checkstyle/Spotless)、JS/TS(ESLint/Prettier)在本站的典型用法
  • 将规范与 git-essentials 的 pre-commit 习惯结合

Linter vs Formatter

LinterFormatter
目的发现潜在错误、坏模式统一空格、换行、引号
例子未使用变量、eqeqeqPrettier、Google Java Format
可否自动修部分 rule 可 --fix通常全自动

先 format 再 lint,避免 diff 噪音。禁止 --no-verify 跳过 hook,尤其 AI 大批量改文件时,见 ai-coding-essentials。

团队约定写什么

  1. 命名:包名、REST 路径、React 组件 PascalCase
  2. 目录结构:backend 分层、platform src/app 路由
  3. 禁止项:System.out.println、吞异常、any 滥用
  4. 例外流程:必须 @SuppressWarnings 时 PR 说明原因

Spring 项目可对齐 Google Java Style 或团队 fork;与 spring-boot-essentials 包结构一致即可 onboarding。

CI 中的风格门禁

开发者本地:format + lint + test
     ↓
PR:GitHub Actions 跑 mvn verify / npm run lint
     ↓
不绿不 merge

platform 侧 ESLint;backend 可在 pom.xml 绑 Checkstyle。下一课 cq-tools 会展开 SonarQube、SpotBugs 等 静态分析。

EditorConfig(.editorconfig)跨 IDE 统一缩进,与 testing-essentials 同属「低成本纪律」。

练习

  • 在 platform 跑 npm run lint,修一条 auto-fixable 警告
  • 查看 backend 或 platform 的 lint/format 配置文件,列出 2 条 enforced 规则
  • 约定:你的下一个 PR 在 push 前本地 lint 绿

小结

风格争论交给机器;人审留给设计与正确性。 下一课 Pull Request 流程:描述、粒度与 Review 闭环。

加载本节练习…
← 上一课文档生成下一课 →Pull Request 流程