Clean Code 閱讀筆記五
邊界
日常開發(fā)中,為了快速開發(fā)出滿足特定需求的接口,通常都會選擇使用第三方框架蹲盘,而這些第三方框架可以認為是不可控制代碼。邊界可謂是在使用時接觸到的不可控代碼的那一道口膳音,簡單的來說召衔,也就是調(diào)用第三方框架方法的地方。通常當(dāng)未來的某個時刻祭陷,邊界需要發(fā)生變更的時候苍凛,有可能是災(zāi)難的發(fā)生趣席。
我的經(jīng)歷
公司使用hibernate 以及mybatis 兩個第三方框架,但是隨著業(yè)務(wù)發(fā)展醇蝴,決定去掉公司使用hibernate框架宣肚。由于原先mybatis框架僅僅是用來查詢,這也就意味著悠栓,整個應(yīng)用中的所有涉及增刪改的地方霉涨,都需要替換成mybatis對應(yīng)的增刪改。聽起來闸迷,的確是一個很耗費時間以及精力的事情嵌纲,但是我們在使用這個第三方框架的時候,我們使用一個基類對其使用進行了封裝腥沽,所以當(dāng)系統(tǒng)在使用hibernate框架進行增刪改的地方逮走,都是使用基類中的增刪改方法,此時當(dāng)我們需要替換hibernate框架的時候今阳,我們僅僅只是需要把基類中的增刪改替換為mybatis框架的增刪改即可师溅。
感觸
上面是我目前感觸最貼近的體驗,為了在使用我們控制不了的代碼時盾舌,盡可能地應(yīng)對不可知的未來墓臭,減少維護以及修改所需要的代價。開發(fā)人員應(yīng)當(dāng)加倍小心的保護起來這些不可控制代碼妖谴,確保未來修改的代價不至于太大窿锉。