從 gslin blog 看到的分享好文 「Parse Developer Day Video Series: How to Design Great APIs」。很原則性的大方向概述,但的確,這事好 API 的必要條件。
設計好 API 的動機:懶惰!
好的 API 可以讓你更懶惰
好的 API 的條件
直覺的
看到就知道怎麼用,不需要猜測
- 類似的東西就要有類似的結果。例如 length function 對於 string 和 array 應該有類似的結果。
- 平行化的結構。類似的命名要有相同的功能,例如 obj.saveInBackground(); vs. obj.deleteInBackground();
- 做髒髒的事。在命名上加上足夠的描述來呈現他的危險性、功能性等等。例如 $crashserverfrequency = true;
好文件的
一看就懂得文件,不要讓人去看 Source Code(?
- 簡單的問題應該簡單的被解釋。e.g. What does X do?
- Tutorial 應該要有趣不要無聊。
- Quick start 應該要越快越好。
Opinionated (自以為是的?)
建造統一哲學的 API,讓他看起來事一個人做的
- 風格相同。例如全部都是 REST
- 結果相同。例如輸出格式都是 JSON。這句話的意思是指輸出的 default 格式都是相同的,不代表不能選擇性的轉換格式。
- PHP String library 命名不統一被表xd..