Contents

[筆記] API設計之hyrum's law

hyrum's law

Contents

API使用者夠多,即使是文件沒提到的使用方法,若使用者能觀察到,就會依賴使用。

With a sufficient number of users of an API, it does not matter what you promise in the contract: all observable behaviors of your system will be depended on by somebody

舉例:如果一個字串組合API每次合併都會用逗號分隔,就會有使用者發現,並自行開發以逗號作為分割的拆解用API,若有一天這個API改成以逗號與一個空格作為分隔,那拆解用的API就會產生不預期的結果。好的解決辦法是:讓拆解API也讓合併API的人負責。

這個軟體工程的現象,在草地上也會發現,明明有一條步道可以走,但大家發現步道會繞遠路,所以都直接走到草皮上,漸漸的就走出一條沒有草的捷徑。

參考

hyrums-law