在JAVA中,有一些命名约定和风格指南,以确保代码的可读性和一致性
为什么代码需要遵循命名风格?
想象一种场景,你到一个新的公司维护老项目,这个老项目里面的包名、类名、变量名定义的**乱七八糟**,**甚至有中文**,而你**之前的公司都严格的遵守代码规范**,你一看到这个命名风格就知道这段代码是在干什么,这两种情况你喜欢哪个呢?**毋庸置疑是严格遵守代码规范的项目** 代码命名风格是一种最佳实践,可以提高代码的质量、可维护性和可读性,减少错误和混淆,避免混乱和不必要的争议
以下从细致入微的出发点解释为什么代码需要遵循命名风格?
- 可读性:有意义的命名使代码更容易理解。当变量、函数和类的名称清晰明了时,其他开发人员(包括你自己将来)可以更快地理解代码的功能和目的。
- 减少歧义:一致的命名风格可以减少命名歧义。例如,在一个项目中,如果约定了使用驼峰命名法,那么其他开发人员会知道如何正确解释和使用变量名。
- 易于维护:清晰的命名风格使代码更易于维护。当需要修改或添加新功能时,有意义的名称可以帮助开发人员更快地理解代码,并减少错误。
- 提高可搜索性:一致的命名风格使代码更容易搜索和查找。开发人员可以快速定位到特定的变量、函数或类,而无需查看大量代码。
- 降低学习成本:新加入的团队成员或其他开发人员可以更快地适应项目,因为他们可以根据命名风格来理解代码。这降低了学习和适应新代码的成本。
- 代码审查:在进行代码审查时,清晰的命名风格可以帮助审查者更容易发现潜在的问题或改进点。
- 规范性:遵循一致的命名规则和风格是项目开发的一部分,有助于维护团队的一致性和统一性,避免混乱和不必要的争议。
企业规范
**首先、提一点、代码中的所有命名****严禁使用拼音与英文混合的方式****,更****不允许直接使用中文****的方式**
包名 —— 统一小写
包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词
比如应用工具类包名为 **com.alibaba.open.util**
我上面没有包含点分隔符的包名,因为我将包都展开了(这样子做的目的只是看着更舒服,也更好操作,但不强制),不展开的话如下:
类名 —— 大驼峰
类名使用大驼峰风格,但以下情形例外:DO/BO/DTO/VO/AO
大驼峰:**所有单词首字母都需要大写**,又叫帕斯卡命名法,比如**UserController**
DO/BO/DTO/VO/AO等例外,比如 **OrderVO**、**UserDTO**:
方法名、参数名、成员变量、局部变量 —— 小驼峰
**方法名、参数名、成员变量、局部变量**统一使用小驼峰风格
小驼峰:除了第一个单词,其他单词单词首字母都大写,比如 **userController、localValue 、 getHttpMessage() 、 inputUserId**
常量命名 —— 全部大写
常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长
比如 MAX_STOCK_COUNT
抽象类、异常类、测试类 —— 固定开头或结尾
抽象类命名使用 Abstract 或 Base 开头;异常类命名使用 Exception 结尾;测试类命名以它要测试的类的名称开始,以 Test 结尾
数据库及其字段 —— 蛇形
数据库库名、表名、字段名均采用蛇形命名法
蛇形:用下划线(_)作为单词间的分隔符,一般小写(实际使用情况必须大写),又叫下划线命名法,比如:user_controller
css等 —— 串行
串行:用短横线(-)作为单词间的分隔符,又叫脊柱命名法,比如:user-controller
🧸欢迎您于百忙之中阅读这篇博客,📜希望这篇博客给您带来了一些帮助,祝您生活愉快!