其實這要看狀況,如果對於一間數十名工程師一起合作的公司,有 API 文件有可能會有些幫助。但如果到上百人的公司的話,API 文件大概也沒什麼用處了。實務上有很多「人的問題」會導致理想中 API 文件帶來的優點,在人夠多的情況下會完全消失。
舉例來說,十幾二十個人的團隊,基本上每個人之間合作至少還算緊密,遇到需要寫文件時,要統一風格是有點機會。但如果七十人以上的團隊呢?期待團隊中所有人都寫出類似風格的 API 文件是不切實際的。另外如果每個人每一週都能產生一個 API 好了,對於一個七十人的團隊來說,一週會有七十個 API 產生出來,半年就有 1,680 個 API,就算假設裡面有高達 8 成的 API 都是重複的,也會有 336 個不同的 API 被產生出來。你真的確定你能夠了解這所有 336 個半年內產生的 API 嗎?兩年後會增加到上千個,到時你還能了解嗎?在上千個 API 文件中,你有信心能夠找到你想要找的 API 嗎?而且是在很有可能每個人的文件寫作風格都有些不同的情況下(例如有些人用字不精準、或者用字太精準、或者用詞跟別人不同、.....)?
最終來說,的確有 API 文件是好的,因為這樣過去別人做過的東西就可以不用再做一次,不過不用太期待它會解決所有的問題。實務上 API 文件只能幫忙解決少數的程式碼重複而已,而且通常這種能夠被解決的重複,要嘛是功能本身很小(要重寫它只需要一點點時間)、要嘛是功能大/重要到公司幾乎不太會有人不知道。
另外其實個人不認為有 API 文件的新人,能力會成長比較快。實際上我反而覺得有 API 文件的新人,能力很可能成長會比較慢。因為用別人做好的 API 不需要做太多思考,反正 API 就幫你做好它宣稱會做好的事;但自己要寫同樣的 API 卻需要很多思考和練習的過程。作者: xizhao 時間: 2019-1-3 08:58 AM