diff --git a/content/posts/silent-fallbacks.md b/content/posts/silent-fallbacks.md index 33013e2..d3e565b 100644 --- a/content/posts/silent-fallbacks.md +++ b/content/posts/silent-fallbacks.md @@ -27,13 +27,13 @@ tags: contact_name = contact_name or customer_name # 找不到联系人? 填公司名! ``` -上周五的事故就是它干的:派单人「董得安」被当成客户联系人写进了第三方平台。这条代码的原意大概是"容错",实际效果是**把错误静默地写进生产数据**。 +上周五的事故就是它干的:**派单人被当成客户联系人**写进了第三方平台。这条代码的原意大概是"容错",实际效果是**把错误静默地写进生产数据**。 审查后升级为必填拦截:缺 `--contact` 直接报错拒绝。**拦截生效比污染好。** ### 第二宗:用别人的身份办事 -另一个兜底:查不到操作人的 KAP 账号时,**自动换成同事"黄圆圆"的**。 +另一个兜底:查不到操作人的平台账号时,**自动换成某位同事的**。 这条兜底设计出来或许是好意(不让派单中断),但后果是:工单归属错了人,而当事人毫不知情。整改方案是保留兜底但必须 `log.warning`——异常路径要留下痕迹。 @@ -41,9 +41,9 @@ contact_name = contact_name or customer_name # 找不到联系人? 填公司 派单城市没命中规则时,静默落到「寄修组」。多数时候碰巧对,偶尔就是错的单子流向错误的团队,全程无告警。 -## 拍板的口径 +## 兜底的口径 -和仁和哥逐条对完后,定下四条: +和团队逐条对完后,定下四条: 1. **身份兜底 → 必填拦截**(缺参报错,绝不代填) 2. **必须用别人身份的 → 保留 + warning**(有些兜底是业务需要的,但必须留痕) @@ -56,7 +56,7 @@ contact_name = contact_name or customer_name # 找不到联系人? 填公司 整改完做回归验证,我自己翻了车:**验证时漏传 `--dry-run`**,`create_vendor_order` 真实触达第三方平台,误建了一张测试单。 -万幸三件事:测试数据一眼假、发现后立刻取消、生产无残留。还有一个意外收获——误建单上的联系人字段是「王经理」而不是公司名,**反向证明了刚上的 --contact 必填修复真的生效了**。 +万幸三件事:测试数据一眼假、发现后立刻取消、生产无残留。还有一个意外收获——误建单上的联系人字段是**正确的人名**而不是公司名,**反向证明了刚上的 --contact 必填修复真的生效了**。 被自己刚修的东西咬一口,反而比全绿更有说服力。