今天看了同事寫的組件,有一些感觸,怎么才能設計一個好的組件呢?我感覺應該要包含下面幾點:
1. 要易用 (至少讓使用者能夠簡單方便的引入到程序當中)
2. 要穩定 (需要增加關鍵的測試)
3. 要靈活(關鍵參數可配置)
4. 要全面(日志、攔截器、監聽器)
5. 要謹慎(要考慮多種情況)
6. 要易讀(寫的東西要能給別人講清楚)
如何做?
1.如何做到易用,所謂眾口難調,你覺得好用,其他人未必這樣覺得。做一個組件之前,先了解各方使用者的需求或許是最好的選擇,不要讓別人適應你而是應該適應別人,並且多采用一些公認的設計模式方法,也可以提高自己的設計能力。
2.如何做到穩定,系統關鍵點可以多編寫一些單元測試適應不同的場景,在有外部訪問的組件當中,可以適當增加壓力測試。
3.如何做到靈活,系統設計的時候,先要確定“變化”和“不變”,對於變化除了默認值可以增加一些配置文件選項,讓使用者能夠自己配置,或者開放一些抽象類和接口,讓調用者自己實現。
4.如何全面,當你做一個組件的時候,別人可能也會關心,發生異常或者變化的情況,這個時候適當的增加一些日志,更進一步增加一些回調方法,或許能夠為排查問題,處理異常以及后續其他操作提供一些便利條件。
5.怎么謹慎,做組件的時候,考慮到被各種不同的使用者使用,這里就需要將異常情況或者各種條件分鍾考慮清楚,當變量是非法值的時候需要系統能夠有效的處理,或者在輸入的時候提前判斷,或者做好異常處理。
6.要容易讀,很多人在寫組件的時候,都不注重代碼的注釋和更新的履歷,殊不知這樣的情況就是當時間比較長之后,很難理解自己的代碼也很難讓別人看懂,不能因為只是給別人中的組件不涉及到業務就不去寫注釋,良好的習慣也是程序員價值的衡量標准。