这个周末 Vibe Coding 的感悟是,AI 时代的编程范式会随着 AI 辅助能力的加入而改变。
举个最简单的例子。
人类编码过程会避免代码冗余与样板式代码。比如一旦发现有一定程度的重复或冗余就会抽象出可复用的工具类/工具方法、基类、组装类,一般无法忍受大段的代码重复,甚至还发明了一堆设计模式解决这类问题。
这样做的好处是编码量低、结构相对优雅;但坏处是,如果需求有较大变动,就得开始迭代与重构 —— 所以架构设计往往也是最能体现程序员功力的:
- 早期需求简单、变化非常大应该保持架构简单以应对需求快速迭代
- 中期代码快速膨胀、放任不管很容易导致代码混乱,应该开始设计兼具复用性与扩展性的架构
- 后期整体代码比较复杂且需求放缓、相对稳定,应该迭代成约束更强、更面向质量保障以及性能更好的架构
但 Vibe Coding 时代,纯人类编码的范式可能需要改一改。
1. AI 最不怕的就是简单而重复的劳动,所以相似的代码写几遍对人类来说无法忍受,但 AI 甘之如饴
2. AI 最怕的是复杂的架构引发的理解成本,所以在对 AI 来说,结构简单非常重要(整个周末基本就花在代码重构上了)
基于上述两点特性,Vibe Coding 时架构越简单越好、代码越内聚越好,以 AI 的编码速度,解决问题的成本要远大于编码成本。(PS:短期内 AI 处理不好长代码文件,所以代码适当分割到不同类还是有必要;长期可能也不必要)
举个最简单的例子。
人类编码过程会避免代码冗余与样板式代码。比如一旦发现有一定程度的重复或冗余就会抽象出可复用的工具类/工具方法、基类、组装类,一般无法忍受大段的代码重复,甚至还发明了一堆设计模式解决这类问题。
这样做的好处是编码量低、结构相对优雅;但坏处是,如果需求有较大变动,就得开始迭代与重构 —— 所以架构设计往往也是最能体现程序员功力的:
- 早期需求简单、变化非常大应该保持架构简单以应对需求快速迭代
- 中期代码快速膨胀、放任不管很容易导致代码混乱,应该开始设计兼具复用性与扩展性的架构
- 后期整体代码比较复杂且需求放缓、相对稳定,应该迭代成约束更强、更面向质量保障以及性能更好的架构
但 Vibe Coding 时代,纯人类编码的范式可能需要改一改。
1. AI 最不怕的就是简单而重复的劳动,所以相似的代码写几遍对人类来说无法忍受,但 AI 甘之如饴
2. AI 最怕的是复杂的架构引发的理解成本,所以在对 AI 来说,结构简单非常重要(整个周末基本就花在代码重构上了)
基于上述两点特性,Vibe Coding 时架构越简单越好、代码越内聚越好,以 AI 的编码速度,解决问题的成本要远大于编码成本。(PS:短期内 AI 处理不好长代码文件,所以代码适当分割到不同类还是有必要;长期可能也不必要)