今天說(shuō)的這個(gè)詞來(lái)源于軟件開發(fā)。
重構(gòu)(Refactoring)就是通過(guò)調(diào)整程序代碼改善軟件的質(zhì)量谚攒、性能阳准,使其程序的設(shè)計(jì)模式和架構(gòu)更趨合理,提高軟件的擴(kuò)展性和維護(hù)性馏臭。
作為程序員的我野蝇,一直在努力給代碼做著重構(gòu)。剛接觸這個(gè)行業(yè),也不會(huì)去做任何的重構(gòu)绕沈,只是在不停的堆砌代碼锐想。因?yàn)椴涣私馑母拍睿员銦o(wú)緣它的精髓乍狐。有緣接觸之后赠摇,經(jīng)過(guò)一次次的體驗(yàn),這兩個(gè)字已經(jīng)映在了我所寫的所有代碼中澜躺。
自覺(jué)我是一個(gè)還懂得變通的人蝉稳,但是簡(jiǎn)單的道理還是無(wú)法形成類比。
直到最近才突然醒悟掘鄙,原來(lái)重構(gòu)的理念不只可以打磨代碼耘戚,更加可以敲打敲打生活。
生活中我是一個(gè)容易激進(jìn)的人操漠,總是一個(gè)想法要么是南收津,不行的話,一下子就會(huì)調(diào)向北浊伙,明顯是個(gè)感性的人撞秋。但是,重構(gòu)代碼時(shí)我喜歡小步慢走嚣鄙,一次只做好一件事吻贿,我絞盡腦汁希望每一步都可以做的更好,工作中又是一個(gè)比較理性的人哑子。
之前當(dāng)有這種反差時(shí)舅列,恍惚以為自己有兩重人格,現(xiàn)在想來(lái)也許只差那么一點(diǎn)變通的助力卧蜓。
也許在相同的時(shí)間內(nèi)帐要,在工作中思想更加成熟。
也許在生活中練習(xí)的時(shí)間太少弥奸,練習(xí)失敗之后再次爬起來(lái)的次數(shù)更少榨惠。以至于年紀(jì)到了,心里成熟度離及格線還差得很遠(yuǎn)盛霎。
回頭想想赠橙,應(yīng)該是我一直對(duì)代碼在做重構(gòu)(最開始的時(shí)候我也是激進(jìn)的,經(jīng)過(guò)了無(wú)數(shù)次失敗的經(jīng)驗(yàn)并學(xué)習(xí)了很多大師的經(jīng)驗(yàn))愤炸,而我很少對(duì)生活做重構(gòu)期揪。
生活這個(gè)項(xiàng)目比程序要復(fù)雜的多,它是一個(gè)大型的復(fù)雜的需要多人協(xié)作的項(xiàng)目摇幻。所以横侦,生活不是在堆砌時(shí)間。生活需要不斷打磨绰姻,不斷設(shè)計(jì)枉侧,不斷地重構(gòu)。
雖然復(fù)雜狂芋,只要有意識(shí)開始榨馁,小步前進(jìn)。重構(gòu)的好處就在于不是一下子要完全實(shí)現(xiàn)帜矾,而是一小步一小步靠近目標(biāo)翼虫,所以即使再?gòu)?fù)雜的項(xiàng)目都可以一點(diǎn)一點(diǎn)的分解。有想法就每天前進(jìn)一小步屡萤,沒(méi)想法可以暫時(shí)保持現(xiàn)狀珍剑,每前進(jìn)一小步都是be better。
最重要的第一步是:協(xié)作死陆,團(tuán)隊(duì)中每個(gè)人的認(rèn)識(shí)首先是一致的招拙。
說(shuō)到這個(gè)重要性,引用Martin Flower(代碼重構(gòu)大師)書中的故事措译。
兩個(gè)家伙的車子在山頂附近拋錨了别凤,于是他倆走下車,一人走到車的一頭领虹,開始推車规哪。經(jīng)過(guò)毫無(wú)成果的半小時(shí)之后,車頭那家伙開口說(shuō)道:‘我從來(lái)不知道把車推下山這么難塌衰!’另一個(gè)家伙答道:“嘿诉稍,你說(shuō)‘推下山’是什么意思?難道我們不是想把山推上山嗎猾蒂?”
第一步走好了均唉,需要想想,哪些需要做重構(gòu)肚菠,怎么去做舔箭?
帶著這個(gè)疑問(wèn)開始重構(gòu)的設(shè)計(jì),要想找到哪些需要做重構(gòu)蚊逢,需要對(duì)自己走過(guò)的路好好做一個(gè)復(fù)盤层扶。