> For the complete documentation index, see [llms.txt](https://weekly-essay.mikey.wang/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://weekly-essay.mikey.wang/zh/2020-nian/w28-ding-yi-jie-kou-yi-lai.md).

# W28-定义 & 接口依赖

### 定义的重要性 <a href="#id-ding-yi-de-zhong-yao-xing" id="id-ding-yi-de-zhong-yao-xing"></a>

日常事务中，很多容易混淆，权责不清的事情，往往是一些概念的定义上出了问题。比如定义不清，或者是定义清晰了，但没有形成共识。举个栗子，QA在ones中给某个bug分配指派人时，在一些比较复杂的场景下，会出现不知道指派给谁合适的困扰。这个困扰的根本原因是，对指派人这个概念的定义不清，或者没有形成共识。在没有明确定义的情况下，我们通常会把指派人这个词理解为一个复合概念。它包括问题的制造人，问题的处理人，和问题的责任人。如果问题稍稍复杂一些，自然会产生“一词多义”的歧义。这时，一个清晰简单的定义往往可以使问题迎刃而解。比如，最简单清晰的原则是，谁负责改就指派给谁，指派人就是处理人。与责任拆解无关，找根因、责任人，那是COE复盘的事情。

### **接口间依赖对向下兼容的影响** <a href="#id-jie-kou-jian-yi-lai-dui-xiang-xia-jian-rong-de-ying-xiang" id="id-jie-kou-jian-yi-lai-dui-xiang-xia-jian-rong-de-ying-xiang"></a>

前后端分离的架构下，接口的修改迭代，一定要注意向下兼容。一般情况下，后端接口字段只增不改。如果没有做好向下兼容，不管是调整前后端发布顺序，还是增加切换新老版接口开关，都解决不了发布临界点异常突刺的问题。这里需要注意接口间依赖的特殊情况，如果没有修改老接口，而是做了一个新版本的接口。这时，如果其对前序接口有依赖，比如，前序接口下发后序接口的请求地址，那么，即使只是新增接口，也要格外注意，所依赖的前序接口是否对新增的后序接口做了版本兼容。
