作者分享了他构建大型软件项目的一些技巧,基本赞同。(PS:Ghostty 确实挺不错的,已经是我的默认终端了)
在项目启动阶段,最困难的是找到一个合适的切入点。他建议选择一个能够尽快看到结果的“子项目”,即使这些结果最初可能不那么“可见”,也可以通过自动化测试来验证进展。例如,在开发终端模拟器时,他选择从 VT 解析开始,通过编写测试用例来验证解析器的功能,从而获得“测试通过”的成就感。
核心是以下几个步骤:
将大问题分解为小问题,每个小问题都必须有清晰的可见结果。
只解决小问题到足以推动大问题的演示层面,然后转向下一个小问题。
解决足够多的小问题,以便开始构建可运行的软件演示,然后继续迭代更多功能,尽可能频繁地进行演示。
如果适用(个人项目或解决自身问题的项目),优先开发能让自己采纳软件的功能,并持续首先解决自己的问题。
根据需要,返回并迭代改进每个组件,重复此过程。
https://mitchellh.com/writing/building-large-technical-projects