本文旨在用最通俗的語言講述最枯燥的基本知識前端
1 android
到一家創業公司上班的第一天,老員工劉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%的時間都是在和變量、函數、方法打交道,所以一個好的命名習慣,比註釋或一份詳細的開發文檔都重要。針對於此,小編特地根據行業標準---阿里開發文檔,作了一些參考和摘抄,整理出一份關於命名方面的規範,給須要的你做參考。微信
爭取多寫漂亮代碼,少寫註釋!!!app
文章提綱:函數
- 總體規範
- 包規範
- 類規範
- 方法規範
- OOP的一些強制規範
- 全部的命名必須以英文意譯,不能以中文拼音意譯,如:獲取個人消息接口,能夠寫:myMessage;但不能寫:myXiaoXi
- 儘可能用精簡的英文命名,但要完整表達其意義,杜絕int a ,int a1 int aa這種毫無心義的簡化寫法。
- 全部命名不能以特殊符號開始,如:_age,_username
- 常量用全大寫定義,單詞之間用下劃線分割語義,如:public final int REDIS_MAX_IDLE=5;
- 包名全小寫,不能用特殊符號或者駝峯寫法如:com.courseLog.uitl_con是不合規範的。
- 包名要符合包的做用,好比數據層要寫dao,工具包要寫util等
- 類名風格爲大寫開頭的駝峯命名方式,如:ApiController、TestController等
- 異常類命名使用Exception結尾,如:CustomerException
- 抽象類命名使用Abstract開頭,如:AbstractCustomer
- 測試類命名以它要測試的類的名稱開始,以 Test 結尾,如:CustomerControllerTest
- 枚舉類命名要以Enum結尾,若是CustomerRoleEnum
- 其它類型的類命名,在描述類做用的同時,也儘量表達出類所用的一些設計模式
- 方法名使用駝峯寫法,以小寫字母開頭,如:getUserCourse();
- 方法內的參數名、成員變量、局部變量均使用駝峯寫法,以小寫字母開頭,如:int userName;
- 接口類的方法和屬性不要加上任何修飾符,保證代碼的簡介。
- 方法定義必需要有註釋,包括(方法做用、參數名、返回類型、建立時間等)
- Service/DAO層方法命名規約:
- 獲取單個對象的方法用get作前綴。
- 獲取多個對象的方法用list作前綴。
- 獲取統計值的方法用count作前綴。
- 插入的方法用save/insert作前綴。
- 刪除的方法用remove/delete作前綴。
- 修改的方法用update作前綴。
- 儘可能避免使用可變參數編程,相同參數類型,相同業務含義,纔可使用 Java 的可變參數,避免使用 Object
- 接口過期必須加@Deprecated 註解
- 不能使用過期的類或方法
- 全部的相同類型的包裝類對象之間值的比較,所有使用 equals 方法比較
- 類內方法定義順序依次是:公有方法或保護方法 > 私有方法 > getter/setter 方法。
以爲本文對你有幫助?請分享給更多人 關注「編程無界」,提高裝逼技能
工具![]()