代碼重構(gòu)refactor的一點(diǎn)感想
最近一段時(shí)間在做2個(gè)模塊代碼的refactor。一個(gè)模塊是因?yàn)樾阅艿脑颍硪粋€(gè)模塊是因?yàn)楹軤€的數(shù)據(jù)庫(kù)設(shè)計(jì),導(dǎo)致數(shù)據(jù)很難維護(hù),并且也會(huì)有潛在的性能問(wèn)題。
有很多的感想:
1. 既然要做refactor,就意味原來(lái)的代碼肯定有很大的缺陷。但是即使這樣,也要先明確refactor的范圍。而不是全部上來(lái)都做refactor,那樣會(huì)導(dǎo)致refactor不可控。同時(shí)還要區(qū)分哪些是refactor,哪些是new feature,不要混在一起。
2. test case很重要。
3. 詳細(xì)的文檔比代碼實(shí)現(xiàn)更重要。時(shí)間上應(yīng)該是1:1
4. 文檔應(yīng)包括:
A 對(duì)舊系統(tǒng)業(yè)務(wù)邏輯的分析,以及存在的問(wèn)題
B 新系統(tǒng)業(yè)務(wù)邏輯的分析,對(duì)應(yīng)的改善方法
C new design:DB, architecture
D 舊有系統(tǒng)需要改善的功能點(diǎn)
5. 再爛的系統(tǒng)也不是一無(wú)是處,所以盡量不要全盤(pán)否定。
有很多的感想:
1. 既然要做refactor,就意味原來(lái)的代碼肯定有很大的缺陷。但是即使這樣,也要先明確refactor的范圍。而不是全部上來(lái)都做refactor,那樣會(huì)導(dǎo)致refactor不可控。同時(shí)還要區(qū)分哪些是refactor,哪些是new feature,不要混在一起。
2. test case很重要。
3. 詳細(xì)的文檔比代碼實(shí)現(xiàn)更重要。時(shí)間上應(yīng)該是1:1
4. 文檔應(yīng)包括:
A 對(duì)舊系統(tǒng)業(yè)務(wù)邏輯的分析,以及存在的問(wèn)題
B 新系統(tǒng)業(yè)務(wù)邏輯的分析,對(duì)應(yīng)的改善方法
C new design:DB, architecture
D 舊有系統(tǒng)需要改善的功能點(diǎn)
5. 再爛的系統(tǒng)也不是一無(wú)是處,所以盡量不要全盤(pán)否定。
posted on 2011-05-23 14:00 amenglai 閱讀(209) 評(píng)論(0) 編輯 收藏 所屬分類(lèi): 編程語(yǔ)言