以天地之公心写 ABAP,用无偏、守界、少私意的方式做系统
最近在做 ABAP 开发时,我越来越觉得,很多系统问题并不是技术栈不够新,也不是框架不够强,而是开发者把太多个人偏好、临时情绪、局部便利塞进了系统。一个销售订单保存逻辑,本来只需要安静地校验数据、加锁、落库、提交事务,却常常被写成一个充满特殊照顾的庞然大物。某个客户要特殊逻辑,某个组织要绕过校验,某个字段因为某次上线赶工被硬编码,某个增强点里偷偷更新标准表。几年以后,系统表面还在运行,里面却像一间不断加隔断的老房子,谁都不敢碰承重墙。
这时再读《道德经》里这一句,天地不仁,以万物为刍狗。圣人不仁,以百姓为刍狗,会有一种很强的工程感。这里的「不仁」不能粗暴理解成冷酷,也不是要求开发者没有同情心。更贴近系统设计的理解,是不偏私、不溺爱、不把局部对象当成宇宙中心。关于「刍狗」的传统解释里,草扎成的狗在祭祀前被郑重摆放,祭祀结束后又被放下,不是因为喜欢它,也不是因为厌恶它,而是因为它在秩序中完成了自己的位置。类似解释也常见于《道德经》第五章的英译与评注,核心都落在天地与圣人不以私情偏待万物这一层意思上。(Buddhism: The Way of Emptiness)
放到 ABAP 开发里,这句话的价值就不在于把程序员变成冷冰冰的人,而在于提醒我们,系统要有系统的公正。代码不能因为某个调用方熟悉、某个用户级别高、某个需求紧急,就破坏边界。框架不能因为某个实体看起来简
