最近我把以前的一个 personal project 挖出来翻新,从中得到了许多奇奇怪怪的开发经验。趁印象仍深,做点记录。

对软件工程师来说,这是个老掉牙的问题:实作一个功能的时候,要先保持简单,避免 overengineer — 过度设计?还是预先拆设出架构、抽象化,来让以后扩充功能的时候更顺畅省力?

我想,虽然对于什么是 “clean code” 普遍有各种原则,适当的平衡应该还是要视个人自身的经验和能力和 project 的特性来拿捏。毕竟什么东西是容易的,或是能判断之后一定会用上的,并没有标准答案。我其实也没有什么高见可以教别人,只是遇到了两个相似的情况,产生了点想法,把它整理出来。