本文分析講述了PHP代碼維護,重構變困難的4種原因。分享給大家供大家參考,具體如下:
代碼維護,重構是件很令人不爽的一件事。以下幾種情況,會讓代碼維護和重構變得很困難。
1. 項目開始時,大家規定好一些代碼規范,在一定的規范下進行開發,但是人的思想是不一樣的,也就是說每個功能不同的人實現的邏輯可能會有這樣那樣的不同,導致了一些人不願意去看別人代碼,要改別人代碼,首先要了解這個人當時是怎麼想的,他的邏輯是怎麼樣的。所以有很多人的想法是有那看別人代碼的時間,我就重新做好了。這種想法不要有,看別人代碼也能學到不少東西。如果都這樣想,我想冗余代碼會越來越多,後期重構會變的越來越困難。
2. 做程序的一般跳槽都比較頻繁,項目開始的時候,是5個人(項目創始人)開發的,等項目上線了,可能有人離職了。人手不夠,公司招人。項目創始人呢,對新招的人,不太信認,怕修改原代碼會導致上線的功能出問題,所以就出了新規定,最好不要修改上線過的程序,如果需求變動,最好重新寫class或者是function,這樣的話,代碼會變的越來越多。可能會出現幾個class都差不多,或者多個function的功能差不多。
3. 數據庫冗余字段,冗余表過多,也會讓代碼維護變的十分困難。因為功能優化,或者新需求,導致原有表結構根本不能滿足新需求,這個時候,就會去表裡添加字段,或者掛接另一個表,長期以往,數據庫變的很臃腫,數據庫一大,代碼肯定就不用說了,程序都是圍繞著數據來的,冗余字段,冗余表都要維護的,不然數據就不統一了。必要的冗余可以減少數據庫查詢,如果過多,只會事得其返。所以在修改數據庫時更要考慮清楚,考慮將來數據庫和代碼要重構的情況。
4. 個人原因是最主要的原因,首先要有分塊思想,也可以說是oop思想,這種思想是在實戰中養成的,這個是要一定時間的。不要為了急著去實現功能而忽視了整體考慮。假如來了一個新需要,我會首先考慮怎麼實現這個需求,有了思路後,我也不會急著去開發這個功能,我還會在考慮這個功能模塊,會不會用在其他地方?如果其他地方用,怎麼樣讓其他地方用著更方便。我會讓所以調用這個功能模塊的地方,接口只有一個。然後我才會著手去開發。還有一點,不要相信需求定下來就不會變了,不會的。人的想法很多,開發代碼的時候,這一點也要考慮進去,所以統一的接口在需求變動時,我只要修改一個地方,其他地方都可以改掉。如果這樣考慮了,前期開發時,時間會多一點,但是後期維護就快很多。
小結一下,有了上面4點,重構數據庫,重構代碼將是必然的
1. 人的思想不可能一樣,大家都在盡量往一處想,但是總會有這樣,那樣的不同。
2. 急於要完成功能,而不深入了解別人代碼。研究別人代碼不如重新開發快,這種思想不好。
3. 數據庫冗余,這個我個人覺得必然會出現的,一個項目做大,做強,一定是在不斷的成長,成長過程中,數據庫不可能是一成不變的。
4. 缺少分塊思想,我覺得一個項目,就是很多功能獨立的小塊通過一定線串起來的,代碼重構也就是把這些小塊的重新組合,當然各個小塊,在重構前後實現的功能會不一樣,但它還是為了實現一定的功能,只不過由舊變新而已。
上面的幾點是我在開發項目過程實際遇到的,歡迎大家補充。
更多關於PHP相關內容感興趣的讀者可查看本站專題:《PHP基本語法入門教程》、《php面向對象程序設計入門教程》及《php優秀開發框架總結》
希望本文所述對大家PHP程序設計有所幫助。