溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

PHP代碼維護(hù)和重構(gòu)變困難的原因有哪些

發(fā)布時(shí)間:2021-08-31 11:39:37 來(lái)源:億速云 閱讀:132 作者:小新 欄目:開(kāi)發(fā)技術(shù)

小編給大家分享一下PHP代碼維護(hù)和重構(gòu)變困難的原因有哪些,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

具體如下:

代碼維護(hù),重構(gòu)是件很令人不爽的一件事。以下幾種情況,會(huì)讓代碼維護(hù)和重構(gòu)變得很困難。

1. 項(xiàng)目開(kāi)始時(shí),大家規(guī)定好一些代碼規(guī)范,在一定的規(guī)范下進(jìn)行開(kāi)發(fā),但是人的思想是不一樣的,也就是說(shuō)每個(gè)功能不同的人實(shí)現(xiàn)的邏輯可能會(huì)有這樣那樣的不同,導(dǎo)致了一些人不愿意去看別人代碼,要改別人代碼,首先要了解這個(gè)人當(dāng)時(shí)是怎么想的,他的邏輯是怎么樣的。所以有很多人的想法是有那看別人代碼的時(shí)間,我就重新做好了。這種想法不要有,看別人代碼也能學(xué)到不少東西。如果都這樣想,我想冗余代碼會(huì)越來(lái)越多,后期重構(gòu)會(huì)變的越來(lái)越困難。

2. 做程序的一般跳槽都比較頻繁,項(xiàng)目開(kāi)始的時(shí)候,是5個(gè)人(項(xiàng)目創(chuàng)始人)開(kāi)發(fā)的,等項(xiàng)目上線了,可能有人離職了。人手不夠,公司招人。項(xiàng)目創(chuàng)始人呢,對(duì)新招的人,不太信認(rèn),怕修改原代碼會(huì)導(dǎo)致上線的功能出問(wèn)題,所以就出了新規(guī)定,最好不要修改上線過(guò)的程序,如果需求變動(dòng),最好重新寫(xiě)class或者是function,這樣的話,代碼會(huì)變的越來(lái)越多??赡軙?huì)出現(xiàn)幾個(gè)class都差不多,或者多個(gè)function的功能差不多。

3. 數(shù)據(jù)庫(kù)冗余字段,冗余表過(guò)多,也會(huì)讓代碼維護(hù)變的十分困難。因?yàn)楣δ軆?yōu)化,或者新需求,導(dǎo)致原有表結(jié)構(gòu)根本不能滿足新需求,這個(gè)時(shí)候,就會(huì)去表里添加字段,或者掛接另一個(gè)表,長(zhǎng)期以往,數(shù)據(jù)庫(kù)變的很臃腫,數(shù)據(jù)庫(kù)一大,代碼肯定就不用說(shuō)了,程序都是圍繞著數(shù)據(jù)來(lái)的,冗余字段,冗余表都要維護(hù)的,不然數(shù)據(jù)就不統(tǒng)一了。必要的冗余可以減少數(shù)據(jù)庫(kù)查詢,如果過(guò)多,只會(huì)事得其返。所以在修改數(shù)據(jù)庫(kù)時(shí)更要考慮清楚,考慮將來(lái)數(shù)據(jù)庫(kù)和代碼要重構(gòu)的情況。

4. 個(gè)人原因是最主要的原因,首先要有分塊思想,也可以說(shuō)是oop思想,這種思想是在實(shí)戰(zhàn)中養(yǎng)成的,這個(gè)是要一定時(shí)間的。不要為了急著去實(shí)現(xiàn)功能而忽視了整體考慮。假如來(lái)了一個(gè)新需要,我會(huì)首先考慮怎么實(shí)現(xiàn)這個(gè)需求,有了思路后,我也不會(huì)急著去開(kāi)發(fā)這個(gè)功能,我還會(huì)在考慮這個(gè)功能模塊,會(huì)不會(huì)用在其他地方?如果其他地方用,怎么樣讓其他地方用著更方便。我會(huì)讓所以調(diào)用這個(gè)功能模塊的地方,接口只有一個(gè)。然后我才會(huì)著手去開(kāi)發(fā)。還有一點(diǎn),不要相信需求定下來(lái)就不會(huì)變了,不會(huì)的。人的想法很多,開(kāi)發(fā)代碼的時(shí)候,這一點(diǎn)也要考慮進(jìn)去,所以統(tǒng)一的接口在需求變動(dòng)時(shí),我只要修改一個(gè)地方,其他地方都可以改掉。如果這樣考慮了,前期開(kāi)發(fā)時(shí),時(shí)間會(huì)多一點(diǎn),但是后期維護(hù)就快很多。

小結(jié)一下,有了上面4點(diǎn),重構(gòu)數(shù)據(jù)庫(kù),重構(gòu)代碼將是必然的

1. 人的思想不可能一樣,大家都在盡量往一處想,但是總會(huì)有這樣,那樣的不同。
2. 急于要完成功能,而不深入了解別人代碼。研究別人代碼不如重新開(kāi)發(fā)快,這種思想不好。
3. 數(shù)據(jù)庫(kù)冗余,這個(gè)我個(gè)人覺(jué)得必然會(huì)出現(xiàn)的,一個(gè)項(xiàng)目做大,做強(qiáng),一定是在不斷的成長(zhǎng),成長(zhǎng)過(guò)程中,數(shù)據(jù)庫(kù)不可能是一成不變的。
4. 缺少分塊思想,我覺(jué)得一個(gè)項(xiàng)目,就是很多功能獨(dú)立的小塊通過(guò)一定線串起來(lái)的,代碼重構(gòu)也就是把這些小塊的重新組合,當(dāng)然各個(gè)小塊,在重構(gòu)前后實(shí)現(xiàn)的功能會(huì)不一樣,但它還是為了實(shí)現(xiàn)一定的功能,只不過(guò)由舊變新而已。

以上是“PHP代碼維護(hù)和重構(gòu)變困難的原因有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI