2016-03-02 35 views
4

如果我是叫歷時一個參數,然後在同一時間定義的變量的方法,是否會被認爲是「壞習慣」?在調用一個方法不好的做法中聲明瞭一個變量嗎?

例子:

if(file_exists($file = "skins/Default/Controllers/Demo.php")) 
{ 
    require($file); 
} 

我覺得好像它使事情變得更容易,因爲它不需要創建上面的另一個變量,也不會被寫入字符串兩次了混亂的代碼。

+2

有疑問時,總是問自己:「我該怎麼獲得,如果我寫這樣的代碼」。在你的情況下,你從性能POV中獲益匪淺,但你降低了可讀性。收益= 0.損失= 1.我同意zzzzBov的回答,它涵蓋了很好的話題。 –

回答

7

正在申報中調用一個方法不好的做法的變量?

是的,因爲它背後隱藏的其他功能的意圖。

$file = "skins/Default/Controllers/Demo.php"; 
if (file_exists($file)) { 
    require($file); 
} 

更容易閱讀和推理比:

if (file_exists($file = "skins/Default/Controllers/Demo.php")) { 
    require($file); 
} 

,因爲這將會是很容易誤認爲​​,這是常見的一種if語句中看到。

+0

謝謝你,你給的代碼應該如何的例子,爲什麼它是不好的做法,把它寫成我以爲。有趣的是,我沒有想過如何將它誤認爲== – Jarrod

0

它可以被認爲是不好的做法,因爲它減少了代碼的可讀性(=>可維護性)。

$file = "skins/Default/Controllers/Demo.php"; 
if(file_exists($file)) 
{ 
    require($file); 
} 

更具有可讀性

+0

謝謝你,我覺得好像zzzzBov的答案有一個更詳細一點,爲什麼它被認爲是不好的做法。 – Jarrod

相關問題