重構的一些原則

第一:儘量在方法裏面避免臨時變量的相互傳遞;

第二:單一職責原則,儘量把一個對象變化,引起的一系列變化,放到一個對象裏面處理,如果發現一個對象裏面的屬性變化,而需要去更改其他對象裏面額一些操作,說明需要重構,表明其他類裏面的東西不屬於他的,應該換地地方。

第三:明白對象的含義,一個對象有屬性和方法,而方法則是對於這些屬性進行管理,一個對象屬性的變化,要在當前對象的方法裏面來處理,如果當前對象裏面需要處理一些其他的操作,但是這些操作對於改變當前對象的屬性沒有作用,這說明這個方法往往不應該屬於當前對象,因爲我們知道屬性是來描述對象的狀態,而方法則是改變這些狀態,那麼其他的這些操作應該在哪裏呢?有動作那麼他就一定有相關的對象對應,所以很可能就屬於一個新的對象;

第四:增加代碼維護性,對於代碼中可能因爲條件而變化的代碼替換掉,這樣爲以後的改變添加一層保護膜,以後無論如何改變,有這層保護膜存在,無他其他的如何改變,都不會影響當前對象,此時往往的做法都是引入多態,針對抽象層編程。

第五:一個對象只負責所屬自己的行爲,絕對不要有過多的操作行爲,而且不同的操作應該放在各自所屬的對象裏面,所以,如果對象之間相互關聯,相互引用,只通過簡單那的object.method(xxx)完成,最好不要出現 Object.getObject().getXXXX()這樣的行爲,如果出現,說明該行爲就不屬於當前對象;

第六:重構方法,一個方法只完成一個功能,如果需要其他的處理,則提取新的方法,把不變量當做參數傳入,然後返回這個方法造成改變的變量


第七:我們定義一個方法的時候,方法傳入一個參數,一定要注意這個參數有什麼用處,這個參數能確定一些什麼對象,如果可以確定,那麼就可以在此時來創建因參數變化而變化的對象。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章