天天看點

架構,改善程式複用性的設計~第三講 實作一種功能的代碼隻能出現在一處

從标題中可以看到本篇文章将介紹代碼随意性的缺點及由此引發的後果,首先,來說一下同一功能的代碼在多個程式中被編寫多次的後果:

1  它破壞了面向對象的“單一職責”的原則

2  當代碼邏輯複雜時,或者進行二次開發時,程式員将對方法調用産生歧義,即不知道應該使用哪個方法,即代碼可讀性差

3  當這個不規範的方法邏輯需要修改時,你将會進行多次重複的調整,這是一個程式不希望做的事

解決方法:

當幾個子產品需要用到同一功能,或者功能相似的方法時,應該先将公用的功能抽象成一個新的方法,再把不同的地方抽象成其它方法,這也就是《重構》中的extract method 。

下面看一下代碼:

不規範的:

架構,改善程式複用性的設計~第三講 實作一種功能的代碼隻能出現在一處

View Code

架構,改善程式複用性的設計~第三講 實作一種功能的代碼隻能出現在一處

通過代碼我們可以看到,不規範的代碼将多種功能方法合成了一種,屬于邏輯混亂了,而規範的代碼邏輯清晰,職責分明,代碼重複使用率較高。

繼續閱讀