热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

编程规约命名风格

编程规约-命名风格命名规则一、正确的英文拼写和合理的缩写和语法规则正确示例国际通用的名称可视同英文alialibabataobaocainiaoaliyunyoukuhangzho

编程规约-命名风格

命名规则一、正确的英文拼写和合理的缩写和语法规则


正确示例

// 国际通用的名称 可视同英文
ali
alibaba
taobao
cainiao
aliyun
youku
hangzhou

反例一、使用下划线或美元符号开始或者结束

_name
name_
$name
name$
__name
name__

反例二、使用拼音或者中文

DaZhePromotion [打折]
getPingfenByName() [评分]
String fw[福娃]
int 某变量 = 3

反例三、族歧视性词语

RIBENGUIZI[日本人]
Asan[印度人]
blackList[黑名单 blockList]
whiteList[白名单 allowList]
slave[从属 secondary]

反例四、不规范的缩写

AbsClass[AbstractClass]
condi[condition]
Fu[Function]

命名规则二、包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词。包名统一使用单数形式


命名规则三、类名使用 UpperCamelCase 风格,但以下情形例外:DO/BO/DTO/VO/AO/PO/UID等


正确示例

ForceCode
UserDO
HtmlDTO
XmlService
TcpUdpDeal
TaPromotion

异常类命名使用 Exception 结尾, 测试类命名以它要测试的类的名称开始,以 Test 结尾


命名规则四、抽象类命名使用 Abstract 或 Base 开头;


命名规则五、接口和实现类的命名有两套规则


A、对于 Service 和 DAO 类,基于 SOA 的理念,暴露出来的服务一定是接口,内部的实现类用Impl 的后缀与接口区别

正例:CacheServiceImpl 实现 CacheService 接口


B、如果是形容能力的接口名称,取对应的形容词为接口名(通常是–able 的形容词)

正例:AbstractTranslator 实现 Translatable 接口。


命名规则六、方法名、参数名、成员变量、局部变量都统一使用 lowerCamelCase 风格


正确示例

localValue
getHttpMessage()
inputUserId

命名规则七、常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长


正确示例

MAX_STOCK_COUNT / CACHE_EXPIRED_TIME

反例

MAX_COUNT
EXPIRED_TIME

命名规则八、数据类型声明


A、数组:类型与中括号紧挨相连来表示。


正确示例

int[] arrayDemo

B、提升辨识度:表示类型的名词放在词尾


正确示例:

startTime
workQueue
nameList
TERMINATED_THREAD_COUNT

反例:

startedAt
QueueOfWork
listName
COUNT_TERMINATED_THREAD


推荐阅读
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • Søren Kierkegaard famously stated that life can only be understood in retrospect but must be lived moving forward. This perspective delves into the intricate relationship between our lived experiences and our reflections on them. ... [详细]
  • 本文详细介绍了如何使用PHP检测AJAX请求,通过分析预定义服务器变量来判断请求是否来自XMLHttpRequest。此方法简单实用,适用于各种Web开发场景。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • C++实现经典排序算法
    本文详细介绍了七种经典的排序算法及其性能分析。每种算法的平均、最坏和最好情况的时间复杂度、辅助空间需求以及稳定性都被列出,帮助读者全面了解这些排序方法的特点。 ... [详细]
  • 本文详细探讨了Java中的24种设计模式及其应用,并介绍了七大面向对象设计原则。通过创建型、结构型和行为型模式的分类,帮助开发者更好地理解和应用这些模式,提升代码质量和可维护性。 ... [详细]
  • 如何查找和管理计算机中的C盘临时文件
    本文详细介绍了如何在计算机中找到和管理C盘的临时文件,包括其具体路径、环境变量设置方法以及清理这些文件对系统性能的影响。对于希望优化系统性能和释放磁盘空间的用户来说,这是一篇非常有价值的参考。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • c# – UWP:BrightnessOverride StartOverride逻辑 ... [详细]
  • 解决Linux系统中pygraphviz安装问题
    本文探讨了在Linux环境下安装pygraphviz时遇到的常见问题,并提供了详细的解决方案和最佳实践。 ... [详细]
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
  • 本文详细介绍了如何使用 Yii2 的 GridView 组件在列表页面实现数据的直接编辑功能。通过具体的代码示例和步骤,帮助开发者快速掌握这一实用技巧。 ... [详细]
  • 深入探讨双臂机器人运动学与D-H建模在ROS系统MoveIt中的应用
    本文详细介绍了如何利用ROS系统MoveIt进行双臂机器人的运动学分析和D-H建模,涵盖刚体位姿描述、正逆运动学求解以及具体的D-H参数计算方法。 ... [详细]
author-avatar
放ch养奶牛
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有