十項經典的技巧構建完美SDK
譯文過去十年以來,SDK的使用已經成為開發生命周期中的重要組成部分。事實上,其在產品中的應用與集成已經非常普遍。甚至對開發者而言,了解框架知識的重要性已經高于學習算法本身。
而在今天的文章中,我們將了解十項技巧,希望它們能幫助各位打造出***的SDK:
0. 了解現有成果
在動手之前,我們首先需要了解競爭對手或者其它企業是否已經完成了各位預期的SDK方案。這類方案可以作為很好的參考點,大家不妨從中選取精華、摒棄糟粕。
1. 簡單性
簡單的代碼能夠確保成果的易用性。具體來講,代碼的交互方式越少越好,例如只提供一個接口類; 減少方法簽名,例如只保留少數輸入參數等等。除了初始化之外,一且SDK的使用方式都應盡可能保持簡單。要實現這一目標,大家可以提供默認配置及默認實現類,同時允許高級用戶對其加以修改。隱藏一切用戶不需要使用的類與方法,即只在用戶需要時才開放類/方法,否則僅在本地或私有范圍內使用。部分IDE能夠幫助大家自動實現代碼檢測與冗余部分清除。說明文檔:讓文檔盡可能易于理解,即提供充分的解釋表述但又要注意別啰里啰嗦。另外,內嵌代碼示例也是很好的提示方式。
2. 保證易于上手
即保證用戶能夠在5分鐘以內學會使用代碼。這一點非常重要,特別是考慮到有時候用戶會評估我們的產品——如果無法輕松上手,他們很可能直接選擇放棄。
3. 保持簡短
這部分要求對說明文檔特別重要,但有時也會體現在用戶與SDK代碼的交互流程當中。要在說明文檔中實現簡短效果,大家應當提供代碼示例、使用自解釋方法名稱并提供默認配置。
4. 整合
我們必須記住,用戶的開發環境往往多種多樣。舉例來說,如果我們在編寫一套Android庫,則需要充分考慮要素整合:如果用戶使用Android Studio與gradle,則須提供aar artifact并將其發布至遠程庫; 如果用戶使用Eclipse,則需要提供變更AndroidManifest.xml所必需的jar文件以及SDK獨立eclipse項目。當然,這部分工作無法一蹴而就,大家可以在項目推進當中聽取意見并逐步納入更多整合元素。
5. 示例項目
在GitHub當中創建基礎項目,用于模擬客戶使用SDK的過程。通過這種方式,我們能夠了解客戶如何利用產品滿足自身需求,又會提出哪些產品整合要求。如果大家打算展示某些高級用法,則應建立另一獨立項目。一般來講,用戶會將其作為自己的主要說明文檔來源,因此請提供內嵌注釋并盡可能以自解釋方式編寫代碼。
6. 概述
在說明文檔或者README當中提供關于解決方案的總體概述。在這里,我通常會提供一個示例用例以解釋SDK的常規使用情況。如果可以,不妨提供簡單的圖表或者圖例,從而幫助那些沒時間逐行閱讀文本的用戶快速掌握其使用方法。
7. 快速開始
使用SDK領域中被廣泛接受的慣例性方法。我們應盡可能使用常規的負載、構建模式及其它設計思路,從而保證默認配置能夠有效幫助用戶快速開始項目使用。
8. 默認配置
良好的默認配置能夠有效提升代碼簡單性并降低調整難度。我們提供的默認機制(無論是配置方案還是實現方式)都應適用于大部分SDK目標用戶。大家可以提供多種重載方法,其中最簡單的簽名會默認調用更為復雜的方法簽名。
9. 發布
- 提供不可編輯的脫機格式——PDF。我們能夠輕松創建這類說明資料并將其保存在Dropbox上以備隨時更新。
- 在線——建立企業網站。這是最理想的方式,但其更新工作也可能給IT團隊帶來一定負擔。
希望這些技巧能夠幫助大家構建起自己的***SDK!
原文標題:10 Tips on How to Build the Perfect SDK
【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】