代碼重構(gòu)五大原則 如何進(jìn)行代碼重構(gòu)?
如何進(jìn)行代碼重構(gòu)?看著大家寫(xiě)的這么復(fù)雜,我忍不住回答。如何重構(gòu)代碼實(shí)際上是您自己的知識(shí)存儲(chǔ)問(wèn)題。接下來(lái),我將告訴您可以學(xué)習(xí)哪些知識(shí)來(lái)提高重構(gòu)能力。事實(shí)上,所謂的重構(gòu)就是形成一個(gè)好的代碼模式。在軟件開(kāi)發(fā)
如何進(jìn)行代碼重構(gòu)?
看著大家寫(xiě)的這么復(fù)雜,我忍不住回答。
如何重構(gòu)代碼實(shí)際上是您自己的知識(shí)存儲(chǔ)問(wèn)題。接下來(lái),我將告訴您可以學(xué)習(xí)哪些知識(shí)來(lái)提高重構(gòu)能力。
事實(shí)上,所謂的重構(gòu)就是形成一個(gè)好的代碼模式。在軟件開(kāi)發(fā)領(lǐng)域,長(zhǎng)期以來(lái)形成了完整的知識(shí)體系。具體來(lái)說(shuō),就是架構(gòu)模式、設(shè)計(jì)模式和習(xí)慣用法。教材參考張友生主編的《軟件體系結(jié)構(gòu)原理、方法與實(shí)踐》。
當(dāng)然,這只是大學(xué)的入門教材。學(xué)習(xí)之后,您需要閱讀一些更實(shí)用的書(shū)籍,如“代碼之美”和“重構(gòu)——改進(jìn)現(xiàn)有代碼的設(shè)計(jì)”。在學(xué)習(xí)了所有這些知識(shí)之后,重構(gòu)代碼當(dāng)然不是問(wèn)題。
代碼走讀對(duì)原有代碼的重構(gòu)重構(gòu)的含義是什么呢?
重構(gòu)是不可避免的。程序員總是需要在良好的體系結(jié)構(gòu)和不斷變化的需求之間做出選擇,并通過(guò)不斷的重構(gòu)來(lái)消化臟代碼。您需要避免的是完全失控的代碼重構(gòu)過(guò)程。簡(jiǎn)單,不省錢,不找外包,找一些有實(shí)力的程序員,最好招一批人。不管怎樣,你想要的不是好代碼。這只是一個(gè)結(jié)果。你不在乎代碼是好是壞,對(duì)吧?所以對(duì)于一個(gè)沒(méi)有責(zé)任感或者沒(méi)有能力把事情搞砸的程序員來(lái)說(shuō),這是很正常的。然而,要想利用便宜并不容易。我見(jiàn)過(guò)好的代碼被重組成垃圾,也見(jiàn)過(guò)不能維護(hù)只能重建的垃圾代碼。這完全取決于工薪階層是否有品味。但老板們可能不用擔(dān)心。只要花錢從高端公司挖人,讓可靠的人來(lái)檢查就行了。
對(duì)程序員來(lái)說(shuō)最難的是寫(xiě)代碼嗎?
對(duì)于高級(jí)程序員來(lái)說(shuō),一天可以完成10000行代碼,編寫(xiě)代碼是最不熟練的事情。
對(duì)于程序員來(lái)說(shuō),最困難的是理解需求以及將自然語(yǔ)言轉(zhuǎn)換為數(shù)學(xué)語(yǔ)言的過(guò)程。這個(gè)詞就是形式化。早期的程序員需要直接與用戶聯(lián)系,花費(fèi)大量的時(shí)間與用戶溝通,抽象出用戶所需要的功能和性能,組織整個(gè)系統(tǒng)的數(shù)據(jù)字典。現(xiàn)在很多公司把這部分工作交給產(chǎn)品經(jīng)理,這既是好事,也是壞事,所以程序員很難成長(zhǎng)成為老板。
其次,難點(diǎn)在于系統(tǒng)架構(gòu),包括通信協(xié)議、結(jié)構(gòu)分層、軟件重用和算法。一個(gè)公司總是需要有人來(lái)做,但它可能只需要一個(gè)人來(lái)做,通常是技術(shù)總監(jiān)。
什么是代碼重構(gòu)?
程序代碼不嚴(yán)謹(jǐn)無(wú)序。代碼重構(gòu)是獲得良好結(jié)構(gòu)的方法。通過(guò)重構(gòu),可以在保持函數(shù)不變的前提下,提高代碼的質(zhì)量和代碼的重用程度。