JAVA语言之那些让程序员崩溃又想笑的程序命名...
小标 2019-06-19 来源 : 阅读 799 评论 0

摘要:本文主要向大家介绍了JAVA语言之那些让程序员崩溃又想笑的程序命名...,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。

本文主要向大家介绍了JAVA语言之那些让程序员崩溃又想笑的程序命名...,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。

JAVA语言之那些让程序员崩溃又想笑的程序命名...

本文旨在用最通俗的语言讲述最枯燥的基本知识


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%的时间都是在和变量、函数、方法打交道,因此一个好的命名习惯,比注释或一份详细的开发文档都重要。针对于此,小编特意根据行业标准---阿里开发文档,做了一些参考和摘抄,整理出一份关于命名方面的规范,给需要的你作参考。


争取多写漂亮代码,少写注释!!!


文章提纲:



整体规范


包规范


类规范


方法规范


OOP的一些强制规范



1. 整体规范


所有的命名必须以英文意译,不能以中文拼音意译,如:获取我的消息接口,可以写:myMessage;但不能写:myXiaoXi


尽量用精简的英文命名,但要完整表达其意义,杜绝int a ,int a1 int aa这种毫无意义的简化写法。


所有命名不能以特殊符号开始,如:_age,_username


常量用全大写定义,单词之间用下划线分割语义,如:public final int REDIS_MAX_IDLE=5;



2. 包规范


包名全小写,不能用特殊符号或者驼峰写法如:com.courseLog.uitl_con是不合规范的。


包名要符合包的作用,比如数据层要写dao,工具包要写util等



3. 类规范


类名风格为大写开头的驼峰命名方式,如:ApiController、TestController等


异常类命名使用Exception结尾,如:CustomerException


抽象类命名使用Abstract开头,如:AbstractCustomer


测试类命名以它要测试的类的名称开始,以 Test 结尾,如:CustomerControllerTest


枚举类命名要以Enum结尾,如果CustomerRoleEnum


其它类型的类命名,在描述类作用的同时,也尽可能表达出类所用的一些设计模式



4. 方法规范


方法名使用驼峰写法,以小写字母开头,如:getUserCourse();


方法内的参数名、成员变量、局部变量均使用驼峰写法,以小写字母开头,如:int userName;


接口类的方法和属性不要加上任何修饰符,保证代码的简介。


方法定义必须要有注释,包括(方法作用、参数名、返回类型、创建时间等)


Service/DAO层方法命名规约:
> 1) 获取单个对象的方法用get做前缀。
> 2) 获取多个对象的方法用list做前缀。 
> 3) 获取统计值的方法用count做前缀。 
> 4) 插入的方法用save/insert做前缀。 
> 5) 删除的方法用remove/delete做前缀。 
> 6) 修改的方法用update做前缀。



5. OOP的一些强制规范


尽量避免使用可变参数编程,相同参数类型,相同业务含义,才可以使用 Java 的可变参数,避免使用 Object


接口过时必须加@Deprecated 注解


不能使用过时的类或方法


所有的相同类型的包装类对象之间值的比较,全部使用 equals 方法比较


类内方法定义顺序依次是:公有方法或保护方法 > 私有方法 > getter/setter 方法。

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注编程语言JAVA频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程