Overreacted

為改變而優化

2018 M12 12 • ☕️ 1 min read

什麼造就了一個優秀的 API ?

的 API 設計是容易記憶且不模糊的。他促進易讀、正確且高效能的程式碼,且幫助開發者掉進「the pit of success」

我稱這些設計為「第一層級」,因為他們是一個函式庫開發者第一個傾向於專注的事。你也許必須對他們其中一些妥協且權衡利弊,但至少他們永遠在你的心中。

然而,除非你要送一個探測器到火星,你的程式碼將可能會隨著時間而改變。同樣地,你的 API 使用者的程式碼也是。

我所認識的最好的 API 設計師們不停止於「第一層級」,例如可讀性。他們盡可能花力氣致力於那些我們稱之為「第二層級」API 設計上面:使用這個 API 的程式碼將如何隨時間演化。

一個些微的需求改變可以讓最優雅簡潔的程式碼支離破碎。

優秀的 API 預期他會發生。他們預期你會想要移動一些程式碼、將一部分複製與貼上 、重新命名他、統整特殊案例進一個通用且可重複使用的 helper 、解構抽象回一些實際案例、加一個 hack 、優化一個瓶頸、拋棄一部分程式碼並重寫、犯了一個錯、在原因和效果之間徘徊、修正了一個 bug 、審查這個修正。

優秀的 API 不只讓你掉進 pit of success,他幫助你停留在那裡。

他們為改變而優化。