> 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-hant/2020/w28-definitions-and-interface-dependencies.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>

前後端分離的架構下，接口的修改迭代，一定要注意向下兼容。一般情況下，後端接口字段只增不改。如果沒有做好向下兼容，不管是調整前後端發佈順序，還是增加切換新老版接口開關，都解決不了發佈臨界點異常突刺的問題。這裡需要注意接口間依賴的特殊情況，如果沒有修改老接口，而是做了一個新版本的接口。這時，如果其對前序接口有依賴，比如，前序接口下發後序接口的請求地址，那麼，即使只是新增接口，也要格外注意，所依賴的前序接口是否對新增的後序接口做了版本兼容。
