即代码
我个人一直把“X 即代码(as Code)”中的“即代码”后缀定义为“一套原则或规则的体系”1。这与流行的解读——“即代码”意为“即编程”——形成对照。
我觉得有必要写下这篇短文来澄清我的本意,因为由于我创办了 Terraform2
我对“X 即代码”3的本意始终是把知识从人们的头脑中提取出来,写入一个更具铭刻性的体系。一旦被铭刻下来,知识和流程就可以被共享、版本化、迭代等等。
它与编程的关联在于,被编码化的知识往往同时也是计算机可读的,并因此获得全部相关好处(例如自动化、校验等)。然而,我不认为这意味着现代编程的所有要求都应当套用到“即代码”体系上。
再补充一段历史:我在十多年前(早于 Terraform!)与人合著了《Tao of HashiCorp(HashiCorp 之道)》,这种思维方式至今仍体现在其中关于“编码化”的两节里,而且这两节自最初写就以来基本没有改动。这有助于进一步说明我对“即代码”的本意。
请不要把这篇文章理解为对“即编程”理念的批评,或宣称“即代码”是完美的,或认为“即代码”永远应当按这种方式来解读4。这些都不是事实。我只是想澄清我个人在历史上使用这个术语的本意。
脚注
随机一篇博客