1. 程式人生 > >那些讓程式設計師崩潰又想笑的程式命名...

那些讓程式設計師崩潰又想笑的程式命名...

本文旨在用最通俗的語言講述最枯燥的基本知識

1

到一家創業公司上班的第一天,老員工劉XX給我看了公司他負責的專案,奇怪的是,命名是“LiuQXProject”,劉XX看著驚愕的我說:“怎麼了?有什麼錯嗎?”
那些讓程式設計師崩潰又想笑的程式命名...
那些讓程式設計師崩潰又想笑的程式命名...

2

給同事做雙十一活動相關程式碼的review,學到到了很多中英混血單詞
,獲取雙十一拼團活動資料的介面叫做“get_ShuangShiYi_GroupTuan_activity_data”,特等獎的命名:TeDeng_price....更氣人的是,我們活動獎等有十級,他就虔誠地繼續OneDeng_price、TwoDeng_price
直到JiuDeng_price。。。噢,no!!好氣啊!!而且他還把”獎“的單詞prize寫成了price,怎麼說呢?好難受..
那些讓程式設計師崩潰又想笑的程式命名...


那些讓程式設計師崩潰又想笑的程式命名...

3

公司來了個剛畢業的小夥子,自詡前端未來之星,喜歡研讀原始碼,對開源充滿熱愛,一個月後,無意間開啟他寫的一個js檔案,讓我驚訝的是:變數從a到z全部用完,更氣人的是,26個字母用完之後,他竟然喪心病狂的用起來了雙拼,var aa=1,var ab=“12”,var ac=null...我問他為什麼這樣命名,他說你沒研讀jQuery原始碼嗎?人家就是這樣做的,簡潔大氣上檔次!
那些讓程式設計師崩潰又想笑的程式命名...
那些讓程式設計師崩潰又想笑的程式命名...

4

因為微信暱稱經常有帶有一些亂七八糟的表情或者字元,在正常情況下utf-8編碼的資料庫是存不進去的,因此讓同事幫忙寫個把微信暱稱轉換成正常的字串的一個工具函式,最終我拿到了這個工具函式,名字叫做:convertingWechatNicknameintoNormalCharacters(String nickName)
那些讓程式設計師崩潰又想笑的程式命名...


那些讓程式設計師崩潰又想笑的程式命名...

5

實習小夥子來的頭一天就搞的滿身大汗,我說怎麼了,他說我明明寫了main方法,為什麼執行不了,我一看程式碼,我噻~main寫成了mian,怎麼可能跑得起來啊!更殘暴的是:蘋果手機是apple_sj,Android手機是android_sj,哈哈~

那些讓程式設計師崩潰又想笑的程式命名...

以上的種種讓人哭笑不得的命名問題..相信很多小夥伴也會碰過這樣,有些是因為經驗不足,有些是因為一直沒有對自己寫的程式碼做一些規範化的工作,有的是因為被老專案、前輩帶出來的壞習慣...這些都是程式設計世界裡非常不好的行為,拒不完全統計:在一個專案中,程式設計師80%的時間都是在和變數、函式、方法打交道,因此一個好的命名習慣,比註釋或一份詳細的開發文件都重要。針對於此,小編特意根據行業標準---阿里開發文件,做了一些參考和摘抄,整理出一份關於命名方面的規範,給需要的你作參考。

爭取多寫漂亮程式碼,少寫註釋!!!

文章提綱:

  1. 整體規範
  2. 包規範
  3. 類規範
  4. 方法規範
  5. OOP的一些強制規範

1. 整體規範

  1. 所有的命名必須以英文意譯,不能以中文拼音意譯,如:獲取我的訊息介面,可以寫:myMessage;但不能寫:myXiaoXi
  2. 儘量用精簡的英文命名,但要完整表達其意義,杜絕int a ,int a1 int aa這種毫無意義的簡化寫法。
  3. 所有命名不能以特殊符號開始,如:_age,_username
  4. 常量用全大寫定義,單詞之間用下劃線分割語義,如:public final int REDIS_MAX_IDLE=5;

2. 包規範

  1. 包名全小寫,不能用特殊符號或者駝峰寫法如:com.courseLog.uitl_con是不合規範的。
  2. 包名要符合包的作用,比如資料層要寫dao,工具包要寫util等

3. 類規範

  1. 類名風格為大寫開頭的駝峰命名方式,如:ApiController、TestController等
  2. 異常類命名使用Exception結尾,如:CustomerException
  3. 抽象類命名使用Abstract開頭,如:AbstractCustomer
  4. 測試類命名以它要測試的類的名稱開始,以 Test 結尾,如:CustomerControllerTest
  5. 列舉類命名要以Enum結尾,如果CustomerRoleEnum
  6. 其它型別的類命名,在描述類作用的同時,也儘可能表達出類所用的一些設計模式

4. 方法規範

  1. 方法名使用駝峰寫法,以小寫字母開頭,如:getUserCourse();
  2. 方法內的引數名、成員變數、區域性變數均使用駝峰寫法,以小寫字母開頭,如:int userName;
  3. 介面類的方法和屬性不要加上任何修飾符,保證程式碼的簡介。
  4. 方法定義必須要有註釋,包括(方法作用、引數名、返回型別、建立時間等)
  5. Service/DAO層方法命名規約:
    > 1) 獲取單個物件的方法用get做字首。
    > 2) 獲取多個物件的方法用list做字首。
    > 3) 獲取統計值的方法用count做字首。
    > 4) 插入的方法用save/insert做字首。
    > 5) 刪除的方法用remove/delete做字首。
    > 6) 修改的方法用update做字首。

5. OOP的一些強制規範

  1. 儘量避免使用可變引數程式設計,相同引數型別,相同業務含義,才可以使用 Java 的可變引數,避免使用 Object
  2. 介面過時必須加@Deprecated 註解
  3. 不能使用過時的類或方法
  4. 所有的相同型別的包裝類物件之間值的比較,全部使用 equals 方法比較
  5. 類內方法定義順序依次是:公有方法或保護方法 > 私有方法 > getter/setter 方法。

覺得本文對你有幫助?請分享給更多人
關注「程式設計×××」,提升裝逼技能
<br>那些讓程式設計師崩潰又想笑的程式命名...