0%

文章同步於it邦

介紹

今天要介紹的是介面隔離原則(ISP, Interface Segregation Principle)

ISP的原則就是,不該強迫使用者使用不需要使用的介面。

先說他與程式語言的關係
靜態型別在一開始宣告實即確定型別,像是Java必須要使用import, use, include,建立原始碼的依賴關係
而像是Python這種動態語言就不存在這種宣告,所以我可以在我需要的時候才會實做這些方法

你可能會想,沒差啊,我就寫完擺在那邊
但換個角度想,今天有可能會因為某些原因而導致,其他預料之外的問題導致需要解決,那為什麼不一開始就處理乾淨,把不需要的介面拿掉

閱讀全文 »

文章同步於it邦

介紹

這次介紹的是里式替換原則(LSP, Liskov Substitution Principle)
里式替換原則的核心思想是:如果類別B是類別A的子類別,那麼在不影響程式的正確性的前提下,可以將類別A的對象替換成類別B的對象。

換句話說,子類別應該能夠替換父類別而不會破壞程式的預期行為。

(謎之音:半夜上文章好累…

閱讀全文 »

文章同步於it邦

介紹

今天來說說開放封閉原則(OCP, Open-Close Principle)

一個軟體的製品應該對於擴展是開放的,但對於修改是封閉的
-Clean Architecture(P.59)

我們多少都遇過某些老專案會有加一個新功能就要改很多地方或是很難改的狀況
那麼參與設計這個軟體的架構的工程師,就是參與了一次極大的失敗。

OCP其實也是直接指導我們類別和模組化的原則。

閱讀全文 »

文章同步於it邦

前言

終於到最後一個Clean Code的文章….大概吧
只能說這本書真的太多
完全沒辦法幾天之內介紹完
真的介紹完我也要壓縮一大堆
所以就直接帶到最後我預定介紹的主題 - 程式碼的氣味與啟發

閱讀全文 »