《代碼整潔知道》閱讀筆記(二)

開發(fā)的時候可能我們會用到第三方包和使用開源代碼或者是其他團(tuán)隊的開發(fā)的組件系統(tǒng),不管是那種情況我們都得干凈整潔的整合經(jīng)自己的代碼中。

所謂邊界就是指外來代碼和自己寫的代碼之間進(jìn)行整合的連接區(qū)域。

1.使用第三方代碼

第三方程序包和框架提供者追求普適性,這樣能在多個環(huán)境中工作,吸引廣泛的用戶。而使用者則想要集中滿足特定需求的接口。這樣的情況可能會導(dǎo)致系統(tǒng)邊界出現(xiàn)問題。

例子:


2.瀏覽和學(xué)習(xí)邊界

如果第三方代碼庫的使用方法并不清楚,我們可能會花很多時間閱讀文檔再決定如何使用。在不了解的情況下不要在生產(chǎn)代碼中試新東西,而是編寫測試來瀏覽和理解第三方代碼。Jim Newkirk把這叫做學(xué)習(xí)性測試。通過學(xué)習(xí)性測試,來檢測自己對API的理解程度。

3.學(xué)習(xí)log4j

編寫測試用例來學(xué)習(xí)第三方程序的API,再根據(jù)自己的需要進(jìn)行封裝,將應(yīng)用程序的其他部分與log4j的邊界接口隔離開來。

4.學(xué)習(xí)行測試的好處不只是免費

學(xué)習(xí)性測試的好處不光免費,還在投資上有正面回報,當(dāng)?shù)谌匠绦虬l(fā)布了新版本,我們可以運行學(xué)習(xí)性測試,看看程序包的行為有沒有改變。

5.使用尚不存在的代碼

使用不存在的代碼時,可以先定義自己需要的接口,然后編寫類調(diào)用接口。當(dāng)?shù)谌匠绦蚧蛘唛_源代碼暫時還沒有提供我們所需的API時,可以暫時根據(jù)具體業(yè)務(wù),定義我們所需的API,并使用。等真實的API被開發(fā)出來,再接入相應(yīng)的接口。這樣的好處是,有助于保持客戶代碼更可讀,且集中于它該完成的工作。

6.整潔的邊界

邊界上肯跟會發(fā)生的事有很多,改動是其中之一。有良好的軟件設(shè)計,無需巨大投入和重寫即可進(jìn)行修改。在使用我們控制不了的代碼時,必須加倍小心保護(hù)投資,確保未來的修改不至于代價太大。

7.總結(jié)

保持邊界整潔,可以避免我們的代碼過多依賴第三方程序的內(nèi)部實現(xiàn)細(xì)節(jié),減少第三方程序?qū)ξ覀兇a的入侵程度,盡可能降低因第三方程序修改而對我們代碼產(chǎn)生的影響。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 代碼整潔之道 Clean Code 第一章 整潔代碼 代碼的重要性我們永遠(yuǎn)拋不掉代碼,因為代碼呈現(xiàn)了需求的細(xì)節(jié)。在...
    Pengzh1閱讀 1,328評論 0 1
  • 一、整潔代碼 A.混亂的代價 1.有些團(tuán)隊在項目初期進(jìn)展迅速,但有那么一兩年的時間卻慢去蝸行。對代碼的每次修改都影...
    ZyBlog閱讀 2,249評論 0 2
  • 首先,個人覺得這一章講的太籠統(tǒng),內(nèi)容也不夠詳細(xì)啊,限于我個人的能力有限,有些地方感覺模棱兩可。 我們在軟件開發(fā)的過...
    過客又見過客閱讀 711評論 0 0
  • “相對于任何宏偉景愿,對細(xì)節(jié)的關(guān)注甚至是更為關(guān)鍵的專業(yè)性基礎(chǔ)。首先,開發(fā)者通過小型實踐獲得可用于大型實踐的技能和信...
    尋海閱讀 4,920評論 1 27
  • 第一章 整潔代碼 閱讀本書有兩種原因: 第一,你是個程序員;第二,你想成為更好的程序員。P1 勒布朗(leBlan...
    文浩讀書閱讀 870評論 0 2

友情鏈接更多精彩內(nèi)容