簡潔代碼--邊界

代碼整潔之道筆記

[TOC]

邊界

即自己的代碼和第三方的代碼的接口適配

使用第三方代碼 ①封裝

  • 接口提供者和使用者間的區(qū)別:
    接口提供者追求普適性,能在多個工作環(huán)境中工作而吸引用戶。
    接口使用者追求滿足自己的特定需求。

如對于Map使用的不同方式:

一:
Map<Sensor> sensor = new HashMap<Sensor>();
Sensor s = sensor.get(sensorId);

二:
public class Sensors {
    private Map sensors = new HashMap();

    public Sensor getById(String id) {
        return (Sensor)sensors.get(id);
    }
}

代碼一的Map提供了太多的可操作空間,不受限制地傳遞Map實(shí)體。
代碼二將接口隱藏,避免了誤用。

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

編寫測試來理解和學(xué)習(xí)第三方代碼

  • 測試確保代碼能夠按照預(yù)期的運(yùn)行
  • 當(dāng)?shù)谌糯a發(fā)布新版本時,可以通過運(yùn)行測試來確保程序的行為仍舊達(dá)到預(yù)期
  • 邊界測試總能減輕代碼遷移的壓力

使用尚不存在的代碼 ②適配器模式

開發(fā)中可能遇到需要調(diào)用另一個模塊的接口,可是該模塊尚未發(fā)布。

  • 從距離未知代碼最遠(yuǎn)處進(jìn)行開發(fā),逐步了解到自己需要的是什么樣的接口。
  • 為了不受阻礙,定義自己使用的接口。 這就是我們希望在未知代碼處使用的接口。
  • 當(dāng)別人的代碼發(fā)布時,需要改動的是自己定義的接口和對方的接口間增加(修改)適配器。

整潔的邊界

對于邊界上的代碼 需要進(jìn)行清晰的分割和定義了期望的測試。

  • 避免自己的代碼過多地了解第三方的特定信息。 依靠不可靠的他人代碼不如依靠自己。
  • 對于引用第三方的接口,可以使用適配器的模式,也可以通過封裝,從而減少修改時的改動。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,590評論 19 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,111評論 25 709
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,410評論 4 61
  • “忘不了故鄉(xiāng)年年梨花放,染白了山崗我的小村莊,媽媽坐在梨樹下,紡車嗡嗡響,我爬上梨樹枝,聞那梨花香。搖搖潔白的樹枝...
    秋水長天白銀閱讀 1,372評論 1 5
  • 我想學(xué)什么,怎么學(xué),怎樣計劃學(xué)習(xí)
    粱柯一夢知逍遙閱讀 130評論 0 0

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