`
jaybril
  • 浏览: 50277 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

那些让程序员崩溃又想笑的程序命名...

 
阅读更多

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

1

到一家创业公司上班的第一天,老员工刘XX给我看了公司他负责的项目,奇怪的是,命名是“LiuQXProject”,刘XX看着惊愕的我说:“怎么了?有什么错吗?”

2

给同事做双十一活动相关代码的review,学到到了很多中英混血单词,获取双十一拼团活动数据的接口叫做“get_ShuangShiYi_GroupTuan_activity_data”,特等奖的命名:TeDeng_price….更气人的是,我们活动奖等有十级,他就虔诚地继续OneDeng_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 方法。


觉得本文对你有帮助?请分享给更多人
关注「编程无界」,提升装逼技能

0
0
分享到:
评论

相关推荐

    程序员开发高频英语词汇.pdf

    9. **Exception**: 异常是程序运行时出现的问题,可以被捕获并处理,避免程序崩溃。 10. **Framework**: 应用程序框架是一组预先编写好的代码,为开发者提供了一个开发应用的标准结构,如Spring、React等。 11. **...

    JAVA程序员面试《葵花宝典》.doc

    运行时异常不处理可能导致程序崩溃。 6. **Servlet生命周期**:Servlet的生命周期包括初始化(init)、服务(service,通过doGet或doPost等方法实现)、销毁(destroy)。与CGI相比,Servlet在服务器中常驻,多线程...

    C++程序员进阶书籍3本

    - **错误处理**:如何有效地使用异常处理,避免程序因未捕获的错误而崩溃。 - **版本控制**:理解Git等版本控制系统,协同开发和管理代码。 - **测试驱动开发(TDD)**:编写单元测试,确保代码质量。 - **持续...

    9.程序交互.rar

    使用try-catch语句可以捕获并处理可能出现的异常,避免程序崩溃。 10. **自定义控件和用户控件**:如果内置控件不能满足需求,可以创建自定义控件或用户控件,组合已有控件,以实现特定的功能和外观。 以上知识点...

    高质量C++C程序设计.zip

    5. **异常处理**:C++的异常处理机制允许程序员在代码中捕获和处理错误,避免程序因异常情况而崩溃。 6. **命名空间**:命名空间用于避免命名冲突,它是C++中管理全局作用域的一种方法。 7. **C语言基础**:C语言...

    Vb.net程序员词典.rar

    异常处理是处理程序运行时错误的关键,通过Try-Catch语句,程序员可以优雅地捕获并处理异常,防止程序崩溃。 线程管理是并发编程的重要部分。Vb.net提供了Thread类来创建和控制线程,使得程序可以在同一时间执行多...

    170585213768876程序源码.zip

    源码是程序员用编程语言编写的文本文件,它包含了计算机程序的所有指令和逻辑。在软件开发过程中,源码是原始的、可读的,由人类编写和理解。在“170585213768876程序源码.zip”这个文件中,我们可能找到了一个或多...

    程序员成功之路

    - 错误处理:正确捕获和处理异常,避免程序崩溃。 - 保持代码简洁:避免过度设计,追求简单有效。 - 持续集成:频繁合并代码,尽早发现冲突。 - 文档齐全:为项目提供足够的文档支持。 - 安全意识:编写安全的...

    编码规范,程序员

    使用try-catch语句来捕获和处理异常,避免程序因未预期的错误而崩溃。同时,提供有用的错误信息,帮助调试。 6. 代码复用:遵循DRY(Don't Repeat Yourself)原则,避免重复的代码。合理利用继承、封装和多态等面向...

    guifan.rar_软件程序员

    统一的代码风格能让团队成员更容易理解彼此的代码,例如,采用驼峰命名法或下划线命名法为变量命名,用4个空格代替制表符进行缩进。 2. **注释规范**:清晰的注释可以帮助他人理解代码功能和意图。规范要求函数、类...

    华为内部程序员编程规范和范例

    在错误处理上,要求每个函数都应有明确的异常处理机制,防止程序崩溃;在测试方面,华为可能会要求所有功能模块都应有相应的单元测试,确保代码的健壮性。 在华为的编程范例中,我们可能看到他们如何巧妙地应用设计...

    C++编程惯用法.高级程序员常用方法和技巧

    4. **异常处理**:通过try-catch语句,C++提供了异常处理机制,使得程序在出现错误时能够有序地进行错误恢复,而不是崩溃。 5. **RAII(Resource Acquisition Is Initialization)**:这是一种编程策略,常用于管理...

    C++编程惯用法——高级程序员常用方法和技巧.rar

    5. **异常处理(Exception Handling)**:C++的异常处理机制允许程序在运行时捕获和处理错误,而不会导致程序崩溃。理解try、catch和throw的使用以及异常安全编程是必要的。 6. **多态(Polymorphism)**:通过虚函数和...

    C++程序设计.rar

    异常处理提供了错误处理机制,防止程序因异常情况而崩溃。STL包含了一系列高效的数据结构(如vector、list、set)和算法,极大地提高了代码的可读性和效率。C++11引入了lambda表达式、auto关键字、右值引用等,增强...

    优秀程序员之路 C# 开发经验及技巧大汇总.rar

    熟悉异常处理机制能让你的程序更稳定,减少崩溃的可能性。 在C#中,LINQ(Language Integrated Query)提供了一种统一的方式来处理各种数据源。学习如何使用LINQ查询表达式和方法语法,可以提高数据操作的效率和...

    C# 黑马程序员视频 简单记事本

    在这个“C#黑马程序员视频简单记事本”项目中,我们看到的是一个基础教学资源,旨在教授初学者如何使用C#构建一个简单的记事本程序。虽然描述中提到这个视频可能缺失了一部分,但提供的代码可以作为补充学习材料。 ...

    现代C++程序设计.pdf

    异常处理是C++中用于错误处理的一种机制,它允许程序在发生错误时,通过抛出异常并捕获异常的方式进行处理,从而避免程序崩溃。 #### try...catch块 `try`块中包含可能抛出异常的代码,`catch`块则用于捕获并处理...

    学习教程:DotNet_编程_规范:2022.pdf

    3. 健壮性:不会因任何误操作(包括非法数值)使程序崩溃。 4. 安全性:对于用户数据,或网络程序,应当保证其数据或网络的安全。 5. 可测试性:提交的产品或模块应可编译、可执行,能够进行测试。 6. 可维护性:...

Global site tag (gtag.js) - Google Analytics