2011-07-14 27 views
1

有誰知道優點缺點例如速度檢查是否設置了變量而不是簡單地關閉警告?下面PHP Benchmarking - 檢查未設置的變量或警告關閉

是非常糟糕的例子,但說明了什麼我的意思是:事先的任何想法

#Does a check for the variable - error reporting on (Display no warnings) 
$i = (!isset($i)) ? $i + 5 : 5; 

#error reporting off (Display no warnings) 
$i = $i + 5; 

謝謝!

+0

您應該_always_開發'error_reporting'啓用(並首選與'E_ALL | E_STRICT')。考慮到這一點,你的問題會變得毫無意義:你的第二個例子必須被看作是「有點小錯誤」。 – KingCrunch

+0

您應該開發錯誤並將其關閉以進行生產。大多數情況下,它捕獲的東西(如聲明變量)不僅會爲您節省頭痛,而且實際上可能會加速您的程序。總而言之,它確實會是微秒級的,所以我會擔心更多的好代碼。 – ldg

回答

4

這歸結爲一個基本問題:對於您的應用程序正確運行或快速運行更重要嗎?

如果您只是忽略警告,可能會忽略邏輯錯誤。您的程序可能會很快執行,但最快的錯誤應用程序的價值比最慢的應用程序的價值低。

+0

加上我敢打賭,除非更快的方法在很大規模上實現,否則您將永遠看不到性能優勢,並且您將永遠擁有粗糙的代碼。試着想想繼承你的項目的可憐傢伙,啓用警告,並認爲他做錯了什麼。 – tomfumb