評高效程序員應(yīng)該養(yǎng)成的七個(gè)習(xí)慣
(轉(zhuǎn)載請注明來源于金慶的專欄)
”高效程序員應(yīng)該養(yǎng)成的七個(gè)習(xí)慣“一文中,Phil Chu根據(jù)自己的經(jīng)驗(yàn)提出了高效程序員應(yīng)該養(yǎng)成的七個(gè)習(xí)慣。它們是:
1.理解你的需求
2.保持真實(shí)性
3.理解你的代碼
4.最優(yōu)編程
5.管理好你自己
6.持續(xù)教育
7. R-E-S-P-E-C-T
請閱讀原文,僅看標(biāo)題不是夠的,原文對前3點(diǎn)作了詳述,都是很實(shí)際的經(jīng)驗(yàn)。后面4點(diǎn)僅作簡述,但也明了。
其中我對第4點(diǎn)中的觀點(diǎn)不太贊同:“把你的時(shí)間花在代碼的功能上, 而不是去把現(xiàn)有的代碼改得對自己胃口(尤其對于那些copy/paste過來的代碼);要找到系統(tǒng)的瓶頸進(jìn)行優(yōu)化,而不是對那些無益于系統(tǒng)整體性提高的地方做無用功。”
因?yàn)樽罱傆?jì)至少有一周多的時(shí)間,我正是處理與功能和性能無關(guān)的代碼更改。專業(yè)點(diǎn)稱為重構(gòu)。重構(gòu)就是對代碼進(jìn)行更改,但不改變其功能,也與性能優(yōu)化無關(guān),而是一種代碼結(jié)構(gòu)的優(yōu)化。其中一種重構(gòu)方法就是識別copy/paste代碼,并提取為公用函數(shù)。
在為舊系統(tǒng)添加新功能時(shí),重構(gòu)似乎是必不可少的,除非舊系統(tǒng)的代碼結(jié)構(gòu)是卓越不凡的。而實(shí)際情況是,原系統(tǒng)設(shè)計(jì)時(shí),并沒有,或不需要,或無法考慮將來的新增功能,以至于新功能無法直接以補(bǔ)丁的方式加入舊系統(tǒng),對原設(shè)計(jì)和原代碼結(jié)構(gòu)進(jìn)行重構(gòu)是必要步驟。
實(shí)際上,在迭代式開發(fā)中,為了使代碼健康地發(fā)展,需要不時(shí)地戴上重構(gòu)這頂帽子。
添加新功能之前,查看是否有重構(gòu)的必要,這應(yīng)該也是高效程序員的習(xí)慣之一吧。
(轉(zhuǎn)載請注明來源于金慶的專欄)
”高效程序員應(yīng)該養(yǎng)成的七個(gè)習(xí)慣“一文中,Phil Chu根據(jù)自己的經(jīng)驗(yàn)提出了高效程序員應(yīng)該養(yǎng)成的七個(gè)習(xí)慣。它們是:
1.理解你的需求
2.保持真實(shí)性
3.理解你的代碼
4.最優(yōu)編程
5.管理好你自己
6.持續(xù)教育
7. R-E-S-P-E-C-T
請閱讀原文,僅看標(biāo)題不是夠的,原文對前3點(diǎn)作了詳述,都是很實(shí)際的經(jīng)驗(yàn)。后面4點(diǎn)僅作簡述,但也明了。
其中我對第4點(diǎn)中的觀點(diǎn)不太贊同:“把你的時(shí)間花在代碼的功能上, 而不是去把現(xiàn)有的代碼改得對自己胃口(尤其對于那些copy/paste過來的代碼);要找到系統(tǒng)的瓶頸進(jìn)行優(yōu)化,而不是對那些無益于系統(tǒng)整體性提高的地方做無用功。”
因?yàn)樽罱傆?jì)至少有一周多的時(shí)間,我正是處理與功能和性能無關(guān)的代碼更改。專業(yè)點(diǎn)稱為重構(gòu)。重構(gòu)就是對代碼進(jìn)行更改,但不改變其功能,也與性能優(yōu)化無關(guān),而是一種代碼結(jié)構(gòu)的優(yōu)化。其中一種重構(gòu)方法就是識別copy/paste代碼,并提取為公用函數(shù)。
在為舊系統(tǒng)添加新功能時(shí),重構(gòu)似乎是必不可少的,除非舊系統(tǒng)的代碼結(jié)構(gòu)是卓越不凡的。而實(shí)際情況是,原系統(tǒng)設(shè)計(jì)時(shí),并沒有,或不需要,或無法考慮將來的新增功能,以至于新功能無法直接以補(bǔ)丁的方式加入舊系統(tǒng),對原設(shè)計(jì)和原代碼結(jié)構(gòu)進(jìn)行重構(gòu)是必要步驟。
實(shí)際上,在迭代式開發(fā)中,為了使代碼健康地發(fā)展,需要不時(shí)地戴上重構(gòu)這頂帽子。
添加新功能之前,查看是否有重構(gòu)的必要,這應(yīng)該也是高效程序員的習(xí)慣之一吧。