程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 在項目中尋找代碼的壞味道(命名)

在項目中尋找代碼的壞味道(命名)

編輯:關於PHP編程

介紹

這段時間一直做項目,所以相對忙碌些,今天終於有時間回過頭來好好看一下自己寫的代碼,看哪裡有問題,哪裡有“壞味道”。

慢慢過,慢慢回憶代碼。開始捕捉壞味道。

常做的和常想的事情

\

晦澀的if條件

1)對於||的處理

\

                                  \上面的代碼要比下面的代碼理解起來花更多的時間

\

盡管減少代碼行數是一個好目標,但把理解代碼所需的時間最小化是一個更好的目標。

\

返回值

\

 \上面的"$ret"是“我想不出名字“的托詞。與其使用這樣空洞的名字,不如挑一個能描述這個實體的值或者目的的名字。

\

\$alias聲明了這個變量是用來承載別名的——標明了這個變量的目的。並且可能幫我們找到缺陷

\

好的名字應當描述變量的目的或者它所承載的值。

\

臨時變量

\

 \ 這裡的$i是“我的臨時變量",專門用來讓統計數據自動增加,避免統計點的重復。但是對這個$i來講最重要的並不是臨時變量。用charset_index表示“我的統計數據的下標”,更具“描述性”。

\

\

循環迭代器

我在我的js代碼中也發現了壞味道。

\

\i變量名字很空泛,所以不要這麼做。

\

像i,j,iter和it等名字常用做索引和循環迭代器。盡管名字很空泛,但是大家都知道它們的意思是“我是一個迭代器“。——實際上你用這些名字來表示其他含義,那會很混亂。所以不要這麼做。

如果你非要用i,j,it這樣空泛的名字,那麼你要有個好的理由說服自己。

\

總結

我們在編碼的過程中,多花幾秒鐘想出一個好名字,你會發現我們的“命名能力“很快提升上去。

我一般是先想中文名字,如果實在想不出對應的英文名字,我就會用翻譯工具把想到的中文貼上去,然後進行裁剪命名變量或者函數名稱。

贈送一張最近看到的不錯的命名

\


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved