蘋果app開發(fā) 如何進(jìn)行代碼重構(gòu)?
如何進(jìn)行代碼重構(gòu)?看著大家寫的這么復(fù)雜,我忍不住回答。如何重構(gòu)代碼實(shí)際上是您自己的知識(shí)存儲(chǔ)問(wèn)題。接下來(lái),我將告訴您可以學(xué)習(xí)哪些知識(shí)來(lái)提高重構(gòu)能力。事實(shí)上,所謂的重構(gòu)就是形成一個(gè)好的代碼模式。在軟件開發(fā)
如何進(jìn)行代碼重構(gòu)?
看著大家寫的這么復(fù)雜,我忍不住回答。
如何重構(gòu)代碼實(shí)際上是您自己的知識(shí)存儲(chǔ)問(wèn)題。接下來(lái),我將告訴您可以學(xué)習(xí)哪些知識(shí)來(lái)提高重構(gòu)能力。
事實(shí)上,所謂的重構(gòu)就是形成一個(gè)好的代碼模式。在軟件開發(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í)用的書籍,如“代碼之美”和“重構(gòu)——改進(jìn)現(xiàn)有代碼的設(shè)計(jì)”。在學(xué)習(xí)了所有這些知識(shí)之后,重構(gòu)代碼當(dāng)然不是問(wèn)題。
現(xiàn)在各類IT公司軟件開發(fā)時(shí),有沒(méi)有考慮過(guò)代碼重構(gòu)?
大中型企業(yè)將有代碼重構(gòu)的需求。
由技術(shù)類引起的重構(gòu)。在實(shí)際的開發(fā)過(guò)程中,不能什么都想太多,更不能什么都想。我們不得不承認(rèn),大多數(shù)業(yè)務(wù)線公司基本上都將早期項(xiàng)目外包,因?yàn)橥獍某杀具h(yuǎn)遠(yuǎn)低于配套技術(shù)人員的成本。當(dāng)然是個(gè)人外包,也就是公司的老板或者同事,認(rèn)識(shí)一個(gè)程序員,或者讓朋友介紹一個(gè)程序員,讓他接手這個(gè)項(xiàng)目。他可能會(huì)再次換手。我以前的公司就是這樣做的。總之,它可以節(jié)省更多的錢。當(dāng)然,公司的主營(yíng)業(yè)務(wù)不能是技術(shù)路線,網(wǎng)站或系統(tǒng)只是起輔助作用,這是前提??萍脊咀詈谜覀€(gè)技術(shù)合作伙伴。它是以技術(shù)為基礎(chǔ)的,話語(yǔ)權(quán)非常重要。否則,中后期的麻煩就會(huì)層出不窮。外包意味著不能很好地監(jiān)控代碼的質(zhì)量。只要實(shí)現(xiàn)了這個(gè)功能,其他的事情就不重要了。因此,如果您想在后期接管代碼并招募新的人員,項(xiàng)目很難得到維護(hù)。有時(shí),公司融資后,往往會(huì)把外包的程序員帶到公司來(lái),負(fù)責(zé)整個(gè)項(xiàng)目的研發(fā)。
產(chǎn)品業(yè)務(wù)導(dǎo)致的重新配置。不是所有的產(chǎn)品團(tuán)隊(duì)都能很好地掌握需求,更不用說(shuō)期望他們有這樣的水平。對(duì)于公司來(lái)說(shuō),在產(chǎn)品變革中尋求真理太普遍了。當(dāng)然,這不全是產(chǎn)品鍋,相當(dāng)一部分來(lái)自老板和客戶需求的變化。具體原因請(qǐng)參考我的文章《產(chǎn)品經(jīng)理的崛起給發(fā)展帶來(lái)革命》,這個(gè)行業(yè)是進(jìn)步還是倒退?
何時(shí)重構(gòu)。理想的情況是,在項(xiàng)目的整個(gè)生命周期中,新的需求出現(xiàn),新的功能被添加。同時(shí),隨著個(gè)人技術(shù)的不斷進(jìn)步,對(duì)代碼進(jìn)行必要的重構(gòu)將為以后的維護(hù)帶來(lái)相當(dāng)大的方便。然而,這只是理想的情況。在實(shí)際情況中,我們可能會(huì)遇到來(lái)自公司層面的項(xiàng)目緊急通知。這個(gè)項(xiàng)目的時(shí)間大大壓縮了。您可能一直在編寫新函數(shù)或更改新需求的路上。重建不產(chǎn)生新的功能,資本不承認(rèn),那不是他們關(guān)心的問(wèn)題,即使重建工作可能大大降低整個(gè)公司后期的維護(hù)和開發(fā)成本,當(dāng)然,沒(méi)有重建,這些罐子還是發(fā)達(dá)的。這就是技術(shù)有發(fā)言權(quán)的重要性。因此,互聯(lián)網(wǎng)公司有另一種方法來(lái)編寫函數(shù)和代碼,只要他們能使用它們。一方面,沒(méi)有時(shí)間。另一方面,重構(gòu)的工作量不僅是開發(fā),而且是測(cè)試,而且存在各種隱藏的bug。尤其是前輩留下的“很久沒(méi)想到”的代碼更是麻煩。