热门标签 | 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


推荐阅读
  • 本文探讨了Java编程的核心要素,特别是其面向对象的特性,并详细介绍了Java虚拟机、类装载器体系结构、Java类文件和Java API等关键技术。这些技术使得Java成为一种功能强大且易于使用的编程语言。 ... [详细]
  • 对象自省自省在计算机编程领域里,是指在运行时判断一个对象的类型和能力。dir能够返回一个列表,列举了一个对象所拥有的属性和方法。my_list[ ... [详细]
  • 深入解析for与foreach遍历集合时的性能差异
    本文将详细探讨for循环和foreach(迭代器)在遍历集合时的性能差异,并通过实际代码示例和源码分析,帮助读者理解这两种遍历方式的不同之处。文章内容丰富且专业,旨在为编程爱好者提供有价值的参考。 ... [详细]
  • JavaScript 基础语法指南
    本文详细介绍了 JavaScript 的基础语法,包括变量、数据类型、运算符、语句和函数等内容,旨在为初学者提供全面的入门指导。 ... [详细]
  • 异常要理解Java异常处理是如何工作的,需要掌握一下三种异常类型:检查性异常:最具代表性的检查性异常是用户错误或问题引起的异常ÿ ... [详细]
  • Java每日一题:876. 链表的中间节点解析
    本文详细介绍了LeetCode上编号为876的题目——链表的中间节点,包括问题描述、解决方案和代码实现。 ... [详细]
  • Python处理Word文档的高效技巧
    本文详细介绍了如何使用Python处理Word文档,涵盖从基础操作到高级功能的各种技巧。我们将探讨如何生成文档、定义样式、提取表格数据以及处理超链接和图片等内容。 ... [详细]
  • 本文介绍了如何利用 Spring Boot 和 Groovy 构建一个灵活且可扩展的动态计算引擎,以满足钱包应用中类似余额宝功能的推广需求。我们将探讨不同的设计方案,并最终选择最适合的技术栈来实现这一目标。 ... [详细]
  • ThinkPad USB 硬盘启动 Ubuntu 系统的详细步骤
    本文介绍如何通过USB硬盘在联想ThinkPad上启动Ubuntu系统,包括BIOS设置和启动优先级调整。 ... [详细]
  • 本文将探讨Java编程语言中对象和类的核心概念,帮助读者更好地理解和应用面向对象编程的思想。通过实际例子和代码演示,我们将揭示如何在Java中定义、创建和使用对象。 ... [详细]
  • 本文详细介绍了如何通过现代化工具快速、高效地安装Python第三方模块,帮助开发者简化安装流程并提高开发效率。 ... [详细]
  • 雨林木风 GHOST XP SP3 经典珍藏版 V2017.11
    雨林木风 GHOST XP SP3 经典珍藏版 V2017.11 ... [详细]
  • Hadoop发行版本选择指南:技术解析与应用实践
    本文详细介绍了Hadoop的不同发行版本及其特点,帮助读者根据实际需求选择最合适的Hadoop版本。内容涵盖Apache Hadoop、Cloudera CDH等主流版本的特性及应用场景。 ... [详细]
  • 编写了几个500行左右代码的程序,但基本上解决问题还是面向过程的思维,如何从问题中抽象出类,形成类的划分和设计,从而用面向对象的思维解决问题?有这方面的入门好书吗?最好是结合几个具体的案例分析的 ... [详细]
  • Python 内存管理机制详解
    本文深入探讨了Python的内存管理机制,涵盖了垃圾回收、引用计数和内存池机制。通过具体示例和专业解释,帮助读者理解Python如何高效地管理和释放内存资源。 ... [详细]
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社区 版权所有