這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)PHP垃圾代碼的特征是什么,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
創(chuàng)新互聯(lián)公司是一家專業(yè)提供漢陽企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站設(shè)計制作、成都做網(wǎng)站、HTML5建站、小程序制作等業(yè)務(wù)。10年已為漢陽眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進行中。
我們在開發(fā)一個程序的時候,經(jīng)常會在網(wǎng)上搜集很多其他人的程序代碼,但是如何正確的去選擇一個良好的程序代碼幫助自己解決問題呢?下面我們就為大家介紹有關(guān)PHP垃圾代碼的分別。
如果你對要修改的軟件并不熟悉,那我建議你還是先好好看看這個軟件之后再作決定。那么如何能夠不作深入研究就能認定這是垃圾代碼呢?這里給出10個PHP垃圾代碼的征兆,以供參考。
PHP垃圾代碼1、試圖改造面向?qū)ο竽P?,或是修改某個PHP語言特性
如果你發(fā)現(xiàn)一個類名為Object,那很有可能這個軟件的作者試圖改造面向?qū)ο竽P停ê芸赡苁且驗樗约簩γ嫦驅(qū)ο蟛⒉涣私猓?,從而我們可以預(yù)料他所作的修改不僅限于此。遇到這種情況,還是快快關(guān)掉你的電話躲起來吧!
PHP垃圾代碼2、含有自定義的全局變量
查找代碼中的global關(guān)鍵字或$GLOBALS變量,如果發(fā)現(xiàn)以下代碼:
global $database, $my, $mainframe;
這就是臭名昭著的全局變量。如果你能告訴后兩個全局變量代表什么,那么我猜你對我的代碼很熟悉,或者你有超自然的力量。如果你還能告訴我哪些代碼會用到他們,那就太神奇了!總之,離它遠點。
PHP垃圾代碼3、隨處可見的HTML和SQL
找找代碼中的HTML代碼和SQL語句,你應(yīng)該能夠很快地辨別這些代碼是否應(yīng)該出現(xiàn)在這里。如果你發(fā)現(xiàn)一個文件里既有HTML又有SQL,那恭喜你,你發(fā)現(xiàn)了最爛的軟件!
PHP垃圾代碼4、過于臃腫的類
查找***的三個類文件,看看類的名稱是否有清晰的職能?再看看它的方法,是否互相有關(guān)聯(lián)?如果不是,尖叫著離開吧!
PHP垃圾代碼5、大量的公開變量或靜態(tài)變量
如果你發(fā)現(xiàn)很多變量被定義為“public static”,那就把你的報價提高三倍吧。原因我就不用解釋了。
PHP垃圾代碼6、多層繼承關(guān)系
我們應(yīng)該盡量避免兩層以上的繼承關(guān)系。我曾花費大量時間處理擁有過多不相關(guān)行為的對象。如果你知道多層繼承有什么用處,我會請你喝啤酒的。
PHP垃圾代碼7、試圖使用設(shè)計模式(只是試圖)
要知道代碼的作者是否使用設(shè)計模式,只需要檢索最常用的幾個就可以了,如factory(工廠模式),decorator(裝飾模式),strategy(策略模式)等。如果有,那你也能很快的識別作者是否真的會使用這些設(shè)計模式,或者只是想讓代碼看起來有趣些。如果是后者,那就快快離開吧。
PHP垃圾代碼8、不同錯誤級別下的程序紊亂
一個完好的應(yīng)用程序應(yīng)該在各個錯誤級別下都能正常運行。用/error_level\(.*\)/查找代碼是否修改了錯誤級別。如果有,改為E_STRICT再運行一下看看。
PHP垃圾代碼9、有個叫core的目錄
當(dāng)整個應(yīng)用程序都要依靠某些代碼才能運行時,把這堆代碼放入一個叫core的目錄里會是個不錯的方法。但是,除了目錄的名字好聽些,這種方法往往預(yù)示著糟糕的設(shè)計。
PHP垃圾代碼10、用自己設(shè)計的模板語言
對這種情況一定要充滿恐懼。因為這些家伙試圖造出屬于自己的輪子!如果不小心這一點的話,你會發(fā)現(xiàn)你一天的美好時光都用在如何模擬一個for循環(huán)上。
上述就是小編為大家分享的PHP垃圾代碼的特征是什么了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。