通过重构技术来精通编程
你每天都在使用框架和库。你懂得如何调用它们的 API。但你并不了解它们的内部工作原理。
“Build Your Own X” 的理念改变了这一点。通过从零开始重构基础工具,来深入理解软件开发。
现代工具隐藏了复杂性。而这种方法会剥离这些层级,让你直面工程师们每天都在解决的真实问题。
为什么要这样做:
• 深度理解:你会明白工具存在的意义以及它们所做的权衡。 • 解决问题:你会面临设计挑战,从而培养架构思维。 • 更强的调试能力:因为了解内部原理,当代码出错时,你清楚该从哪里入手。 • 职业成长:面试官非常看重那些能够解释工具背后“如何实现”以及“为何这样设计”的候选人。
从小处着手。选择一个你经常使用的东西。
第一个项目的构思:
- 一个用于处理 HTTP 请求的简单 Web 服务器。
- 一个将长链接映射为短代码的 URL 短链接生成器。
- 一个用于在内存中保存数据的键值存储 (key-value store)。
- 一个命令行参数解析器。
- 一个用于路由和视图的微型 MVC 框架。
不要试图构建生产级别的工具。暂时不要担心安全性或速度。专注于核心逻辑。
遵循以下步骤:
- 研究真实的工具。阅读设计文档并查看开源代码。
- 识别核心部分。一个 Web 服务器需要 sockets、解析器以及发送响应的方式。
- 定义最小功能集。如果你构建一个 URL 短链接生成器,请专注于映射和重定向。暂时跳过用户账户和分析功能。
选择一种你熟悉或想要学习的语言。目标是逻辑,而非语法。