内容简介:那些让程序员崩溃又想笑的程序命名...本文旨在用最通俗的语言讲述最枯燥的基本知识
那些让 程序员 崩溃又想笑的程序命名...
本文旨在用最通俗的语言讲述最枯燥的基本知识
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 方法。
觉得本文对你有帮助?请分享给更多人
关注「编程无界」,提升装逼技能
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 程序员有话说 | 平时的程序猿 VS 面试的程序员
- 程序员高薪盛宴背后:程序员正在消失?
- 大龄程序员的出路,程序员的人生
- 程序员被沦陷!国内程序员真的饱和了?
- 1024程序员节,祝程序员们节日快乐!
- 我是女程序员,不是程序媛
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
JavaScript
Douglas Crockford / Yahoo Press / 2008-5 / GBP 23.99
Most programming languages contain good and bad parts, but JavaScript has more than its share of the bad, having been developed and released in a hurry before it could be refined. This authoritative b......一起来看看 《JavaScript》 这本书的介绍吧!