介紹
這段時間一直做項目,所以相對忙碌些,今天終於有時間回過頭來好好看看自己寫的程式碼,看哪裡有問題,哪裡有「壞味道」。
慢慢過,慢慢回憶程式碼。開始捕捉壞味道。
常做的、常想的事
上面的程式碼比下面的程式碼理解起來花更多的時間
儘管減少程式碼行數是一個好目標,但把理解程式碼所需的時間最小化是一個更好的目標。
回傳值
上面的"$ret"是「我想不出名字「的托詞。與其使用這樣空洞的名字,不如挑一個能描述這個實體的值或目的的名字。
$alias聲明了這個變數是用來承載別名的-標示了這個變數的目的。並且可能幫我們找出缺陷
好的名字應當描述變數的目的或它所承載的值。
臨時變數
這裡的$i是「我的臨時變數",專門用來讓統計數據自動增加,避免統計點的重複。但對這個$i來講最重要的並不是臨時變數。用charset_index表示“我的統計數據的下標”,更具“描述性”。
循環迭代器
我在我的js程式碼中也發現了壞味道。
i變數名字很空泛,所以不要這麼做。
像i,j,iter和it等名字常用做索引和循環迭代器。儘管名字很空泛,但是大家都知道它們的意思是「我是一個迭代器」。 ——實際上你用這些名字來表示其他意義,那會很混亂。所以不要這麼做。
如果你非要用i,j,it這樣空泛的名字,那麼你要有個好的理由說服自己。
總結
我們在編碼的過程中,多花幾秒鐘想出一個好名字,你會發現我們的「命名能力「很快提升上去。
我通常是先想中文名字,如果實在想不出對應的英文名字,我就會用翻譯工具把想到的中文貼上去,然後進行裁剪命名變數或者函數名稱。
贈送一張最近看到的不錯的命名
原文連結:http://www.cnblogs.com/baochuan/archive/2012/07/12/25cnblogs.com/baochuan/archive/2012/07/12/258837.
以上就介紹了在專案中尋找程式碼的壞味道(命名),包括了專案,程式碼方面的內容,希望對PHP教程有興趣的朋友有所幫助。