控制膨胀的代码
ai coding中代码生成的速度很快,从我的经验来看,要刻意的控制的生成代码数量,保持代码的精炼和高思维密度。
膨胀的代码一般是存在冗余的功能,或者实现的很啰嗦,从设计美学上说,肯定不是最优的设计。
膨胀的代码增加复杂性和认知负担,这两个因素不管是人类还是对ai都意味着不好理解,难以维护。
从成本上说,会多用token。完成同样的功能,膨胀后的代码会用更多的token。
实现一个功能,预估下消耗的token的数量级我觉是一件比较酷的事情。
设计开发一个功能时,要以批判性思维来评审设计方案,我觉的其中很重要的一个问题是,是否还有其他简洁的方案?
被稀释的架构
架构是持续演进的,在ai coding过程,ai未必能在每次开发中都能记着项目本身的架构实现和设计思想,往往会陷入局部最优的情况。
ai coding还有一个麻烦的问题是决策细节被掩盖,人类程序员更多的在关键节点,设计方案,架构思想和风格上做出决策,而对于很多细节,如常量设计,函数名定义等。
ai coding 让人类工程师的参与程度只到类和模块级及以上,对方法级及以下基本上无知的。
这种设计的割裂感在持续的迭代中会比较明显,如果人类工程师不去刻意的约束和引导,往往会导致概要设计和详细设计的不一致,导致层与层之间的衔接,模块与模块之间的耦合会错综复杂。
架构演进中要保持进化,在设计目标和设计思想的引领下进行有序的变化和改进。