精华内容
下载资源
问答
  • JAVA代码规范

    2018-06-05 10:43:34
    类名称接口名称还采用驼峰式命名原则,名称中的每个单词的第一个字母大写,其余的小写。 定制的时候最好按照职责的不同来分类,这样无论是命名还是修改都比较容易。 方法的命名: 方法的命名应该是以一个全部...
  • JAVA命名规范

    千次阅读 2018-03-19 12:57:11
    而学习命名规范,便于更好的学习和记忆 Java 类库中和函数。 常见代码命名规范: 1.包 Java包的名字都是由小写单词组成。 由于Java面向对象编程的特性,每一名Java程序员都 可以编写属于自己的Java包,为了...

    命名规范规范了代码中类、包等的命名,让你的代码更具专业性,更容易被别人理解,也便于后期更好的维护。而学习命名规范,便于更好的学习和记忆 Java 类库中类和函数。

    常见代码命名规范:

    1.包
    Java包的名字都是由小写单词组成。
    由于Java面向对象编程的特性,每一名Java程序员都 可以编写属于自己的Java包,为了保障每个Java包命名的唯一性,在最新的Java编程规范中,要求程序员在自己定义的包的名称之前加上唯一的前缀。
    互联网上的域名称是不会重复的,所以程序员一般采用自己在互联网上的域名称作为自己程序包的唯一前缀。
    例如:net.frontfree.javagroup

    2.类
    根据约定,Java类名通常以大写字母开头,如果类名称由多个单词组成,则每个单词的首字母均应为大写,例如TestPage;
    如果类名称中包含单词缩写,则这个所写词的每个字母均应大写,如:XMLExample。
    还有一点命名技巧就是由于类是设计用来 代表对象的,所以在命名类时应尽量选择名词(具有实际意义)。

    3.方法
    除第一个字母小写外,和类,接口的命名规则一样。方法名描述了方法具有的实际意义。比如:getPersonInfo()
    对于取属性值和设置属性值的方法:
    不管是否是 Bean,都要遵循 JavaBean 命名规范:getXXX(), setXXX()
    转换对象类型返回不同类型的方法:
    命名成 toType,比如:toString(), toArray()
    返回视图的方法:
    命名成 asType() 形式,asList()
    返回与调用此方法的对象(Wrapper Class)同值的原始类型的方法:
    命名成 typeValue() 形式,比如 intValue(), floatValue()

    4..成员变量(属性)
    一般情况下命名均以”m”开头,其它组成部分和类,接口的命名规则一样,多个单词均首字母大写。
    对于静态成员变量,所有字母大写,多个单词之间使用下划线”_”连接。

    5.局部变量
    根据实际意义命名,首字母小写,其它部分首字母大写。部分可以使用简写,比如:i, j, temp, maxNumber

    展开全文
  • Java命名规范参考!

    千次阅读 多人点赞 2020-02-18 21:44:46
    Java中的命名规范 包命名 命名 方法 返回真伪值的方法 用来检查的方法 按需求才执行的方法 异步相关方法 回调方法 操作对象生命周期的方法 与集合操作相关的方法 与数据相关的方法 成对出现的动词 ...

    目录

    Java中的命名规范

    包命名

    类命名

    方法

    返回真伪值的方法

    用来检查的方法

    按需求才执行的方法

    异步相关方法

    回调方法

    操作对象生命周期的方法

    与集合操作相关的方法

    与数据相关的方法

    成对出现的动词

    变量&常量命名

    变量命名

    常量命名

    通用命名规则

    代码注解

    注解的原则

    注解格式

    包注解

    类注接

    属性注解

    方法注释

    构造方法注释

    注意点

    总结


           简洁清爽的代码风格应该是大多数工程师所期待的。在工作中笔者常常因为起名字而纠结,命名已经成为我工作中的拦路虎,夸张点可以说是编程5分钟,命名两小时!

           每个公司都有不同的标准,目的是为了保持统一,减少沟通成本,提升团队研发效能。所以本文中是笔者结合阿里巴巴开发规范,以及工作中的见闻针对Java领域相关命名进行整理和总结,仅供参考。

    Java中的命名规范

           好的命名能体现出代码的特征,含义或者是用途,让阅读者可以根据名称的含义快速厘清程序的脉络。不同语言中采用的命名形式大相径庭,Java中常用到的命名形式共有三种,既首字母大写的UpperCamelCase,首字母小写的lowerCamelCase以及全部大写的并用下划线分割单词的UPPERCAMELUNSER_SCORE。通常约定,类一般采用大驼峰命名,方法和局部变量使用小驼峰命名,而大写下划线命名通常是常量和枚举中使用

    包命名

           包名统一使用小写“.”点分隔符之间有且仅有一个自然语义的英文单词或者多个单词自然连接到一块(如 springframework,deepspace不需要使用任何分割)。包名统一使用单数形式,如果类命有复数含义,则可以使用复数形式。

           包名的构成可以分为以下几四部分【前缀】 【发起者名】【项目名】【模块名】。常见的前缀可以分为以下几种:

    类命名

           类名使用大驼峰命名形式,类命通常是名词或名词短语,接口名除了用名词和名词短语以外,还可以使用形容词或形容词短语,如Cloneable,Callable等,表示实现该接口的类有某种功能或能力。对于测试类则以它要测试的类开头,以Test结尾,如HashMapTest。

           对于一些特殊特有名词缩写也可以使用全大写命名,比如XMLHttpRequest,不过笔者认为缩写三个字母以内都大写,超过三个字母则按照要给单词算。这个没有标准如阿里巴巴中fastjson用JSONObject作为类命,而google则使用JsonObjectRequest命名,对于这种特殊的缩写,原则是统一就好。

    方法

           方法命名采用小驼峰的形式,首字小写,往后的每个单词首字母都要大写。和类名不同的是,方法命名一般为动词或动词短语,与参数或参数名共同组成动宾短语,即动词 + 名词。一个好的函数名一般能通过名字直接获知该函数实现什么样的功能。

    返回真伪值的方法

    注:pre- prefix前缀,suf- suffix后缀,alo-alone 单独使用

    用来检查的方法

    按需求才执行的方法

    异步相关方法

    回调方法

    操作对象生命周期的方法

    与集合操作相关的方法

    与数据相关的方法

    成对出现的动词

    变量&常量命名

    变量命名

           变量是指在程序运行中可以改变其值的量,包括成员变量和局部变量。变量名由多单词组成时,第一个单词的首字母小写,其后单词的首字母大写,俗称骆驼式命名法(也称驼峰命名法),如 computedValues,index、变量命名时,尽量简短且能清楚的表达变量的作用,命名体现具体的业务含义即可

           变量名不应以下划线或美元符号开头,尽管这在语法上是允许的。变量名应简短且富于描述。变量名的选用应该易于记忆,即,能够指出其用途。尽量避免单个字符的变量名,除非是一次性的临时变量pojo中的布尔变量,都不要加is(数据库中的布尔字段全都要加 is_ 前缀)

    常量命名

           常量命名CONSTANT_CASE,一般采用全部大写(作为方法参数时除外),单词间用下划线分割。那么什么是常量呢?

           常量是在作用域内保持不变的值,一般使用final进行修饰。一般分为三种,全局常量(public static final修饰),类内常量(private static final 修饰)以及局部常量(方法内,或者参数中的常量),局部常量比较特殊,通常采用小驼峰命名即可。

           常量一般都有自己的业务含义,不要害怕长度过长而进行省略或者缩写。如,用户消息缓存过期时间的表示,那种方式更佳清晰,交给你来评判。

    通用命名规则

    1. 尽量不要使用拼音;杜绝拼音和英文混用。对于一些通用的表示或者难以用英文描述的可以采用拼音,一旦采用拼音就坚决不能和英文混用。正例:BeiJing, HangZhou 反例:validateCanShu
    2. 命名过程中尽量不要出现特殊的字符,常量除外。
    3. 尽量不要和jdk或者框架中已存在的类重名,也不能使用java中的关键字命名。
    4. 妙用介词,for(可以用同音的4代替), to(可用同音的2代替), from, with,of等。如类名采用User4RedisDO,方法名getUserInfoFromRedis,convertJson2Map等。

    代码注解

    注解的原则

           好的命名增加代码阅读性,代码的命名往往有严格的限制。而注解不同,程序员往往可以自由发挥,单并不意味着可以为所欲为之胡作非为。优雅的注解通常要满足三要素

    1. Nothing is strange 没有注解的代码对于阅读者非常不友好,哪怕代码写的在清除,阅读者至少从心理上会有抵触,更何况代码中往往有许多复杂的逻辑,所以一定要写注解,不仅要记录代码的逻辑,还有说清楚修改的逻辑。
    2. Less is more 从代码维护角度来讲,代码中的注解一定是精华中的精华。合理清晰的命名能让代码易于理解,对于逻辑简单且命名规范,能够清楚表达代码功能的代码不需要注解。滥用注解会增加额外的负担,更何况大部分都是废话。
    3. Advance with the time 注解应该随着代码的变动而改变,注解表达的信息要与代码中完全一致。通常情况下修改代码后一定要修改注解

    注解格式

           注解大体上可以分为两种,一种是javadoc注解,另一种是简单注解。javadoc注解可以生成JavaAPI为外部用户提供有效的支持,javadoc注解通常在使用IDEA或者Eclipse等开发工具时都可以自动生成,也支持自定义的注解模板,仅需要对对应的字段进行解释。参与同一项目开发的同学,尽量设置成相同的注解模板。

    包注解

           包注解在工作中往往比较特殊,通过包注解可以快速知悉当前包下代码是用来实现哪些功能,强烈建议工作中加上,尤其是对于一些比较复杂的包,包注解一般在包的根目录下,名称统一为package-info.java

    类注接

    javadoc注解中,每个类都必须有注解。

    属性注解

           在每个属性前面必须加上属性注释,通常有一下两种形式,至于怎么选择,你高兴就好,不过一个项目中要保持统一。

    方法注释

           在每个方法前面必须加上方法注释,对于方法中的每个参数,以及返回值都要有说明。

    构造方法注释

           在每个构造方法前面必须加上注释,注释模板如下:

    注意点

           而简单注解往往是需要工程师自己定义,在使用注解时应该注意一下几点:

    1. 枚举类的各个属性值都要使用注解,枚举可以理解为是常量,通常不会发生改变,通常会被在多个地方引用,对枚举的修改和添加属性通常会带来很大的影响。
    2. 保持排版整洁,不要使用行尾注释;双斜杠和星号之后要用1个空格分隔。

    总结

           无论是命名和注解,他们的目的都是为了让代码和工程师进行对话,增强代码的可读性,可维护性。优秀的代码往往能够见名知意,注解往往是对命名的补充和完善。

    展开全文
  • 今天弄项目遇到一个问题,启动总是报500的错误,查了原因是sping扫描不到一个叫"lGraProjectImpl"的实现。 恩,找不到就查原因呗,看...然后想想那我换个名字OK了,然后把实现的名字改了,把接口的名字改了,Loca

     今天弄项目遇到一个问题,启动总是报500的错误,查了原因是sping扫描不到一个叫"lGraProjectImpl"的实现类。

    恩,找不到就查原因呗,看看是不是单词拼写错了,还是什么地方忘记注入了。

    项目翻了个遍发现是对的啊,没有问题啊,单词,大小写都是对的啊。

    启动还是报500 还是扫描不到。

    几近崩溃了。

    然后想想那我换个名字OK了,然后把实现类的名字改了,把接口的名字改了,LocalProjectImpl,注入改成localProjectImpl,然后启动,OK了。


    然后找原因吧!百度了一下Spring名命规范,发现没有这个相关的解释,先写在这吧,什么时候看到了原因来解答一下。

    展开全文
  • Java 接口要点总结

    2020-12-22 08:14:23
    接口就是多个的公共规范接口是一种引用数据类型,最重要的内容就是其中的:抽象方法。 定义一个接口的格式: public interface 接口名称 { // 接口内容 } 备注:换成了关键字 interface之后,编译生成的字节...
  • java代码命名规范

    千次阅读 2018-07-11 16:03:22
    15.【推荐】接口类中的方法和属性不要加任何修饰符号(public 也不要加),保持代码的简洁性,并加上有效的 Javadoc 注释。尽量不要在接口里定义变量,如果一定要定义变量,肯定是 与接口方法相关,并且是整个应用的...

    【强制】代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。

    反例:_name / __name / Object/name/name O b j e c t / n a m e / n a m e / Object$

    【强制】代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。 说明:正确的英文拼写和语法可以让阅读者易于理解,避免歧义。注意,即使纯拼音命名方式 也要避免采用。
    正例:alibaba / taobao / youku / hangzhou 等国际通用的名称,可视同英文。 反例:DaZhePromotion [打折] / getPingfenByName() [评分] / int 某变量 = 3

    【强制】类名使用 UpperCamelCase 风格,必须遵从驼峰形式,但以下情形例外:DO / BO / DTO / VO / AO
    正例:MarcoPolo / UserDO / XmlService / TcpUdpDeal / TaPromotion 反例:macroPolo / UserDo / XMLService / TCPUDPDeal / TAPromotion

    【强制】方法名、参数名、成员变量、局部变量都统一使用 lowerCamelCase 风格,必须遵从 驼峰形式。

    正例: localValue / getHttpMessage() / inputUserId

    【强制】常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长。

     正例: MAX_STOCK_COUNT     反例:MAX_COUNT
    

    6.【强制】抽象类命名使用 Abstract 或 Base 开头
    7.【强制】异常类命名使用 Exception 结尾;
    8.【强制】测试类 命名以它要测试的类的名称开始,以 Test 结尾。
    9.【强制】中括号是数组类型的一部分,数组定义如下:String[] args;
    反例:使用String args[]的方式来定义。

    1. 【强制】POJO 类中布尔类型的变量,都不要加 is,否则部分框架解析会引起序列化错误。
      反例:定义为基本数据类型Boolean isDeleted;的属性,它的方法也是isDeleted(),RPC 框架在反向解析的时候,“以为”对应的属性名称是 deleted,导致属性获取不到,进而抛出异常。

    2. 【强制】包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词。包名统一使用 单数形式,但是类名如果有复数含义,类名可以使用复数形式。
      正例: 应用工具类包名为com.doctorwok.open.util、类名为MessageUtils(此规则参考 spring 的框架结构)

    3. 【强制】杜绝完全不规范的缩写,避免望文不知义。
      反例: AbstractClass“缩写”命名成 AbsClass;condition“缩写”命名成 condi,此类随 意缩写严重降低了代码的可阅读性。

    4. 【推荐】为了达到代码自解释的目标,任何自定义编程元素在命名时,使用尽量完整的单词 组合来表达其意。
      正例:从远程仓库拉取代码的类命名为 PullCodeFromRemoteRepository。 反例:变量 int a; 的随意命名方式。

    5. 【推荐】如果模块、接口、类、方法使用了设计模式,在命名时体现出具体模式。 说明:将设计模式体现在名字中,有利于阅读者快速理解架构设计理念。
      正例:public class OrderFactory;public class LoginProxy; public class ResourceObserver;

      15.【推荐】接口类中的方法和属性不要加任何修饰符号(public 也不要加),保持代码的简洁性,并加上有效的 Javadoc 注释。尽量不要在接口里定义变量,如果一定要定义变量,肯定是 与接口方法相关,并且是整个应用的基础常量。
      正例:接口方法签名:void f();接口基础常量表示:String COMPANY = “alibaba”; 反例:接口方法定义:public abstract void f();
      说明:JDK8 中接口允许有默认实现,那么这个 default 方法,是对所有实现类都有价值的默 认实现。

    6. 接口和实现类的命名有两套规则:
      1)【强制】对于 Service 和 DAO 类,基于 SOA 的理念,暴露出来的服务一定是接口,内部的实现类用 Impl 的后缀与接口区别
      正例:CacheServiceImpl 实现 CacheService 接口。

       2)【推荐】 如果是形容能力的接口名称,取对应的形容词做接口名(通常是–able 的形式)。 
               正例:AbstractTranslator 实现 Translatable。
      
      1. 【参考】枚举类名建议带上 Enum 后缀,枚举成员名称需要全大写,单词间用下划线隔开。

        说明:枚举其实就是特殊的常量类,且构造方法被默认强制是私有。 正例:枚举名字为ProcessStatusEnum的成员名称:SUCCESS / UNKOWN_REASON。

      2. 【参考】各层命名规约:
        A) Service/DAO层方法命名规约

           1) 获取单个对象的方法用get做前缀。 
           2) 获取多个对象的方法用list做前缀。 
           3) 获取统计值的方法用count做前缀。 
           4) 插入的方法用save/insert做前缀。
           5) 删除的方法用remove/delete做前缀。 
           6) 修改的方法用update做前缀。
        

        B) 领域模型命名规约
        1) 数据对象:xxxDO,xxx即为数据表名。
        2) 数据传输对象:xxxDTO,xxx为业务领域相关的名称。
        3) 展示对象:xxxVO,xxx一般为网页名称。
        4) POJO是DO/DTO/BO/VO的统称,禁止命名成xxxPOJO。

    展开全文
  • JAVA接口的使用方法

    千次阅读 2020-03-29 17:06:20
    接口就是多个的公共规范 接口是一种引用数据类型,最重要的内容就是其中的:抽象方法 如何定义一个接口的格式: public interface 接口名称{ //接口内容 } 如果是java 7 那么接口中可以包含的内容有: 1:常量 ...
  • JAVA命名规范(阿里巴巴)及其口语化总结

    千次阅读 多人点赞 2018-03-03 11:05:27
    先来口语化总结: ① 命名使用名词 ② 驼峰命名法(Camel-Case): 当变量名或函数名是由一个或多个单字连结在一起,而构成的唯一识别字时,首字母以小写开头,每个单词首字母大写(第... 如: StudentAnswer.java ...
  • 史上最全的Java代码规范

    千次阅读 多人点赞 2018-12-28 21:28:09
    没有学习好的同学,跟着我的脚步,学习Java的命名规范,哦,不仅仅是Java,用到技术,都可以这样命名,来提高你对代码的观赏性。 本Java代码规范以SUN的标准Java代码规范为基础,为适应我们公司的实际需要,可能会做...
  • Java基础——java代码规范详细版

    万次阅读 多人点赞 2019-07-03 11:41:57
    Java代码规范以SUN的标准Java代码规范为基础,为适应我们公司的实际需要,可能会做一些修改。本文档中没有说明的地方,请参看SUN Java标准代码规范。如果两边有冲突,以SUN Java标准为准。 1. 标识符命名规范 ...
  • java编码规范

    千次阅读 2017-08-31 18:26:30
     本文档以SUN的标准Java代码规范为基础,结合公司的实际需要,做一些修改和补充,编写次文档的目的是规范安信捷开发代码,增加代码清晰度,减少bug,降低后期维护成本和代码审查,养成代码规范的习惯,便于开发人员...
  • Java接口 详解(一)

    万次阅读 多人点赞 2016-10-06 00:46:42
    一、基本概念接口(Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合。接口通常以interface来声明。一个通过继承接口的方式,从而来继承接口的抽象方法。如果一个只由抽象方法和全局常量组成,...
  • 阿里的java文档的规范

    千次阅读 2017-03-25 12:34:05
    阿里的java文档的规范我自己写一遍,加强印象。方便后期的学习。编程规范命名规约 所有编程相关命名均不能以下划线或 美元符号开始,也不能以下划线或美元符号结束。 所有编程相关的命名严谨使用拼音与英文混合的...
  • 示例包括 Object、Class、ClassLoader、String、Thread 等,以及包 java.lang.reflect 中的接口等。 本规范限制了这些接口的行为,但没有为它们提供完整的规范。 读者可以参考 Java SE 平台 API 文档。 ...
  • java面试题典 java 面试题 经典

    热门讨论 2010-06-18 13:42:36
    31. Java接口和C++的虚的相同和不同处。 12 32. Java中的异常处理机制的简单原理和应用。 12 33. 垃圾回收的优点和原理。并考虑2种回收机制。 12 34. 你所知道的集合都有哪些?主要方法? 13 35. 描述一下JVM...
  • java方法命名规范(持续更新)

    千次阅读 2020-07-24 15:12:06
    业界目前没有强制的命名规范,但是用过了JPA之的人,自己新建DAO层的方法的时候,也有一个参考,所以,用hibernate那一套,其实挺好的,维护起来也是很方便。 增删查改的方法的命名规范 这套是阿里的,对应增删改...
  • Java 多态多态是同一个行为具有多个不同表现形式或形态的能力。多态的优点 消除类型之间的耦合关系 可替换性 可扩充性 接口性 灵活性 简化性 多态存在的三个必要条件继承 重写 父类引用指向子类对象 比如: ...
  • Java编程规范

    万次阅读 多人点赞 2017-12-18 22:13:22
    Java编程规范
  • Java接口入参和出参规范建议

    万次阅读 2019-07-24 10:20:47
    把最近项目中遇到的问题跟大家分享下:最近做了一个项目,后端接口写好后和pc端vue联调完毕,业务还需要和App端[ios,andro]对接,问题来了,后端接口中的入参和出参都是Java数据类型[Date,Boolean,Integer,Long等]的...
  • Google Java代码规范

    千次阅读 2018-03-09 16:09:59
    原文地址:https://google.github.io/styleguide/javaguide.htmlGIthub上GoogleCode风格的配置文件(支持Eclipse IDE和IntelliJ IDE):https://github.com/codeset/google-java-styleguide1简介本文档作为Java编程...
  • java开发规范

    千次阅读 2018-05-29 11:44:50
    13. 【推荐】接口类中的方法和属性不要加任何修饰符号(public 也不要加),保持代码的简洁性,并加上有效的 Javadoc 注释 15. 【参考】枚举类名建议带上 Enum 后缀,枚举成员名称需要全大写,单词间用下划线隔开。 ...
  • JAVA代码注释规范

    千次阅读 2018-05-29 21:36:56
    JAVA代码注释规范一、 规范存在的意义1. 好的注释规范可以让人一眼看明白这是干什么的,特别是对于我们这种行业;共同合作完成一个项目需要分工明确,所以也需要有明了的注释规范。2. 正确的应用注释规范可以增加...
  • java的命名规范与注释规范

    千次阅读 多人点赞 2018-07-17 20:10:19
    一、java命名规范 1、项目名全部小写 2、包名全部小写 3、类名首字母大写,若类名由多个单词构成,每个单词首字母大写,即大驼峰命名 public class HelloWorld(){ } 4、变量名、方法名首字母小写,若其由多个...
  • java接口实现树状结构列表

    千次阅读 2020-08-03 11:44:04
    @ApiModelProperty("名称") private String name; @ApiModelProperty("父id") private Long pid; @ApiModelProperty("设备编号") private String number; @ApiModelProperty("树节支类型(0:空间/设备类型...
  • 本章主要对Java泛型类型的命名规范和有界泛型类型进行学习。 1.泛型相关概念 首先通过泛型与泛型方法的语法,对几个概念进行说明: 泛型与泛型方法示例 /** * 泛型语法示例 * Created by 韩超 on 2018/2...
  • Java中类名、接口名、变量名、方法名命名规则

    万次阅读 多人点赞 2018-11-26 11:09:02
    (Java中类名、接口名、变量名、方法名居然可以是中文的) 今天不经意发现Java中类名、接口名、变量名、方法名可以是中文的,然后上去编码了一下。 public class 中文 { public static void main(String[] args) {...
  • 如果一个源文件有一个接口,源文件名称如何命名?如果有多个接口呢?一个如何实现不在同一个源文件的接口

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 131,118
精华内容 52,447
关键字:

java接口类规范名称

java 订阅