如果我是叫歷時一個參數,然後在同一時間定義的變量的方法,是否會被認爲是「壞習慣」?在調用一個方法不好的做法中聲明瞭一個變量嗎?
例子:
if(file_exists($file = "skins/Default/Controllers/Demo.php"))
{
require($file);
}
我覺得好像它使事情變得更容易,因爲它不需要創建上面的另一個變量,也不會被寫入字符串兩次了混亂的代碼。
如果我是叫歷時一個參數,然後在同一時間定義的變量的方法,是否會被認爲是「壞習慣」?在調用一個方法不好的做法中聲明瞭一個變量嗎?
例子:
if(file_exists($file = "skins/Default/Controllers/Demo.php"))
{
require($file);
}
我覺得好像它使事情變得更容易,因爲它不需要創建上面的另一個變量,也不會被寫入字符串兩次了混亂的代碼。
正在申報中調用一個方法不好的做法的變量?
是的,因爲它背後隱藏的其他功能的意圖。
$file = "skins/Default/Controllers/Demo.php";
if (file_exists($file)) {
require($file);
}
更容易閱讀和推理比:
if (file_exists($file = "skins/Default/Controllers/Demo.php")) {
require($file);
}
,因爲這將會是很容易誤認爲,這是常見的一種if
語句中看到。
謝謝你,你給的代碼應該如何的例子,爲什麼它是不好的做法,把它寫成我以爲。有趣的是,我沒有想過如何將它誤認爲== – Jarrod
它可以被認爲是不好的做法,因爲它減少了代碼的可讀性(=>可維護性)。
$file = "skins/Default/Controllers/Demo.php";
if(file_exists($file))
{
require($file);
}
更具有可讀性
謝謝你,我覺得好像zzzzBov的答案有一個更詳細一點,爲什麼它被認爲是不好的做法。 – Jarrod
有疑問時,總是問自己:「我該怎麼獲得,如果我寫這樣的代碼」。在你的情況下,你從性能POV中獲益匪淺,但你降低了可讀性。收益= 0.損失= 1.我同意zzzzBov的回答,它涵蓋了很好的話題。 –