對於變數命名,之前做開發的時候不太注意,覺得只是起個名字這麼簡單而已。但命名的時候也會糾結很多問題,不知道該用什麼單詞,往資料庫新增資料的時候用create還是add,對話方塊使用model還是用dialog,有時候甚至不知道怎麼起名字。
首先列舉幾個不規範的命名
1. 隨意使用簡寫
<div
class
="search-form form-inline edit-form x-ac-he"
>
...div
>
data =
<ask-remove
:callback
="fetchdata"
:url
="orgapi.delete"
>
<
strong
v-text
="selected.corg_name"
>
strong
>
ask-remove
>
2. 變數名稱意思不明確,容易誤解
用total表示總數,單具體表示什麼總數,要翻遍**找找total具體指向。fetchdata,不知道獲取什麼資料集。orgs(),如果不是後面帶個括號都不知道是要幹嘛。showbutton返回true/false
3. 不明確的狀態標示
scope.row.parent != 0, scope.row.authoritytype == 1 不知道0,1具體代表的是什麼,也沒有注釋。就算有注釋,也不容易記住
4. 錯誤的命名方法
用selected表示選中的物件集,用showdialog表示彈出框的狀態,常量用小駝峰命名
以上是以往專案裡犯過錯誤的地方,因為之前都是乙個人寫**比較多,偶爾碰到修改別人**的時候會發現改起來很費勁。不敢動。另外很少對之前的專案做維護,一般都是一次性的。
命名規範的好處:
可讀性高,不用看注釋就能知道乙個變數,方法是用來幹嘛的,對整個**,業務理解起來比較容易
提公升開發效率,便於共享和協同開發,不需要乙個乙個去問別人寫的是什麼
降低維護成本,讀起來都很費勁的**,維護起來自然不易
具體做法
1,單詞拼寫要正確
這是最低階的錯誤,如果單詞都不能拼寫正確,時間長了自己可能會遺忘,更容易造成語法的上錯誤。別人可能都不知道你寫的什麼,有時候還要去靠猜。 這是最讓人頭疼的
2,使用簡介明確含義的英文單詞,片語
不使用漢語拼音,中英混寫
盡量使用業務上便於理解的單詞,很多時候專案小組的溝通不是區分變數,函式,類,介面這些技術上的溝通,更多的是業務上,資料上的溝通。使用users/userlist,比使用usearr更能表示一組使用者集
避免不明所以的簡寫,可以使用簡寫,但要用大家共識的那些簡寫。org - organization, btn - button, str - string。最好不使用簡寫,這樣**更容易閱讀。
3,正確選擇不同型別命名的方式
變數,屬性命名使用名詞,名詞片語或形容詞+名詞組合。
陣列,統一使用名詞的複數形式,或者名詞+list,最好只用一種方式
物件,使用單數形式的名詞+info,或單數名詞。見過有人用名詞+repository
狀態,一般值為布林型別,使用形容詞表示狀態。selected 是否選中,loading 正在載入。可以在形容詞前加is/if/has
方法,使用動詞+名詞、名詞片語。getusers, getselectedorg
限定命名,表示名詞的最大,最小,總數等,用名詞+限定詞,把重要的名詞放前面;如usertotal, useraccount, stringlength
4, 約定好常用的命名單詞,片語
css 固定命名規則,bem命名規則
js 常用命名
5, 命名方法
變數,方法使用小駝峰(lowercamelcase)命名
區域性變數,方法使用方法名後加下劃線 this.adduser_, this.user_
類名,元件,介面引用使用大駝峰(uppercamelcase)命名
列舉,常量使用大駝峰(uppercamelcase),並且單詞之間用下劃線(_)分割
引數使用小駝峰(lowercamelcase)命名,如果引數是第三方類庫,可以在引數名前加類庫的標示符。如引用jquery
最後:想要提高**質量,還是要經常去看下開源**,欣賞學習別人是如何約定命名規則和編寫**的。另外做為程式設計師要時刻保持乙份review 自己**的心,不斷的重構和修改精進自己的**。
附上 google 的**規範,不限於命名規範
paip 提公升開發效率之查詢介面
paip.提公升開發效率之查詢介面 以前在查詢介面,如何把查詢引數傳入後邊商業邏輯是個問題。直接寫 sql吧,不太好,常見有用自定義引數物件來傳。但是開發效率是個 問題。今天我終於找到個好方法了,兼顧效率與分層原則。那就是,控制項定義用拼音的方式,然後可以自動form繫結成乙個 datatable,...
ThinPHP開發命名規範
使用thinkphp開發的過程中應該盡量遵循下列命名規範 特例 在thinkphp裡面,有乙個函式命名的特例,就是單字母大寫函式,這類函式通常是某些操作的快捷定義,或者有特殊的作用。例如 a d s l 方法等等,他們有著特殊的含義。另外有一點非常關鍵,thinkphp預設全部使用utf 8編碼,所...
Oracle開發命名規範
我相信大家不管是做管理或者是做開發也好,都要看 是吧。作為乙個開發人員,能不能讓人看懂,的確是乙個很考驗開發人員程式設計的功底。好像每次看到別人寫的 都會覺得 bull what the is that?所以,乙個開發人員,不但 也要寫得好,並且也要有很好的風格,這樣才能把程式設計的藝術發揮的淋漓盡...