系统设计基础专题:RESTful API、软件工程、代码命名、重构与单元测试
约 958 字大约 3 分钟
系统设计基础专题关注后端开发里最容易被忽略、但长期影响最大的工程能力:接口怎么设计、代码怎么命名、坏味道怎么识别、测试怎么写、需求到交付的过程如何组织。
这些内容看起来不像缓存、消息队列、分库分表那样“硬核”,但它们决定了系统能不能被团队长期维护。
适合谁看
- 想系统补齐后端工程基础的开发者。
- 准备 RESTful API、代码质量、单元测试相关面试题的同学。
- 已经能完成业务开发,但想提升接口设计和代码可维护性的读者。
- 需要给团队制定接口规范、命名规范或测试规范的工程师。
学习重点
- RESTful API 的核心不是固定 URL 模板,而是围绕资源设计清晰、一致、可演进的接口。
- 软件工程关注的是需求、设计、开发、测试、交付和维护的全过程。
- 好命名能降低沟通成本,坏命名会让系统越来越难改。
- 重构不是“重写”,而是在保持外部行为不变的前提下改善内部结构。
- 单元测试要服务于代码质量和变更信心,不能只追求覆盖率数字。
建议阅读顺序
- 软件工程简明教程:先理解软件开发过程、开发模型和工程化基本概念。
- RestFul API 简明教程:学习资源路径、HTTP 方法、状态码和接口设计规范。
- 代码命名指南:建立清晰、一致、可读的命名习惯。
- 代码重构指南:识别代码坏味道,理解常见重构原则和手法。
- 单元测试到底是什么?应该怎么做?:最后用测试提高代码变更的安全感。
核心文章
- 软件工程简明教程:梳理软件危机、软件开发过程模型、瀑布模型、敏捷开发等基础概念。
- RestFul API 简明教程:讲解 REST 架构原则、资源路径设计、HTTP 方法使用和状态码规范。
- 代码命名指南:总结变量、方法、类的命名原则与技巧,提升代码可读性和可维护性。
- 代码重构指南:讲解重构定义、重构原则、代码坏味道识别及常用重构技巧。
- 单元测试到底是什么?应该怎么做?:覆盖单元测试概念、Mock 与 Stub、测试金字塔及 JUnit 基础。
高频问题
- REST 和 RESTful API 有什么区别?
- RESTful API 中资源路径应该如何命名?
- GET、POST、PUT、PATCH、DELETE 分别适合什么场景?
- 软件工程为什么不只是写代码?
- 好的代码命名应该遵循哪些原则?
- 什么是代码坏味道?什么时候应该重构?
- 重构和重写有什么区别?
- 单元测试、集成测试、端到端测试有什么区别?
- Mock 和 Stub 分别解决什么问题?
- 单元测试覆盖率越高越好吗?
