一:命名风格

1,代码中变量的命名要避免使用中文,以及中英文混用。对于国际通用·的拼音组词可以直接使用,但是其他的拼音组词是禁止使用的。
2.类名:命名尽量使用UpperCamelCase的格式,DO/BO/DTO/VO/AO/UID等除外。
3,规范的命名格式为:XmlService以及UpperCamelCase等等。
4.方法名,参数名,成员变量以及局部变量都是遵循驼峰定律,例如upperCamelCase。
5.常量名需要全部大写而且单词·之间使用下划线隔开,例如MAX_COUNT等。
6.抽像类命名必须以Abstract或者Base开头,异常类的命名以Exception结尾,测试类以它要测试·的类名称开始结尾是Test。
7.避免任何不规范的类名的缩写方式,避免望文不知义。
8.如果模块,接口,接口以及方法用到设计模式时,他们的命名应该将应该在名字中体现出设计模式。

9.接口类中的接口方法的定义不要带有public,private等关键字。例如:void getput();
10.接口·类以及实现类的区别,例如CaseService以及CaseServiceImpl。如果是表现莫中能力的行为,取其对应的形容词作为其接口的名称。例如:AbstractTranslator类的·借口名称为Translatable。

11.枚举类型的类名:结尾一定是Enum,而且其成员变量名称必须为全大写的,例如:MAX_COUNT等/。
12,Service,DAO中获取单个对象时,使用get作为前缀,而如果获取的是多个对象时前缀是list。
复数形式结尾极为listStudents…获取为统计值则使用count作为前缀。注意:删除方法以remove或者delete作为前缀。
更新以及修改使用update作为 前缀。
13,领域模型命名规约:(1)数据对象;(xxxDO,而且xxx为数据表的表名。)。(2)数据传输对象命名为:xxxDTO,其中xxx是传输的为业务领域相关的名称。
(3)展现对象:命名名称为xxxVO。其中xxx为一般是网页的名称。
注意:DO,DTO.VO.BO都是POJO的子项,不能将类的名称命名为xxxPOJO。

二,常量定义

1.不要使用一个大而全的常量类去维护系统的所有常量,因为这样子每一次去修改常量时,得事先用查找i的方式去找到常量的位置才能修改,这样子是非常不方便的,而且不利于系统的维护以及扩展。
注意:缓存的相关常量都放在CacheConsts类中,,而系统配置的常量都放在类ConfigConsts中,这是习惯性用法。

2.常量的共享层次为五层:跨应用共享常量,应用内共享常量,子工程内共享常量,包内共享常量,类中共享常量。
(1)其中第一个跨应用共享常量为一般放在二方的库中,一般是在client.jar中的contsant目录中。
(2)应用内共享的常量一般为位于一方库中,一般就是位于子模块的contsant的目录下。
(3)子工程内共享常量一般是在子工程的contsant目录下(一个单独的包下)。
(4)包内共享常量一般是位于当前包下的contsant目录下。
(5)类中的共享常量:直接在类中的public static final 中自定义。
3.一般的只要变量的值在一个一定的范围内变化,那么我们就应该定义该变量为枚举enum类型。例如:

public enum SeasonEnum{SPRING(1),SUMMER(2),AUTOMN(3),WINTER(4);
private  int seq;SeasonEnum(int seq){this.seq=seq;
}
public  int  getseq()
{
return seq;
}
}

三,代码格式

1.if , while , do , for ,switch等关键字必须后面位空格+括号

例如: if ( 以及while ( 等等。

2,任何的二目以及三目运算符左右两边都必须加上一个空格,。例如:a == b以及 a / b等等。

3.注释的内容与注释的双斜线之间有且仅有一个空格。即: // 这是一个常量

4.超过120个字符的情况下,。换行缩进四个空格,点号以及方法都要一起换行。
注意:运算符与下文一起换行,方法调用的点运算符与下文一起换行,在方法参数中有多个参数需要换行时在逗号下面换行,在括号前不要换行。。。

5.方法参数在定义和传入时多个参数在定义以及传入时参数加空格然后是参数,如calpre(arg1, arg2, arg3);

四,OOP规约

1.避免通过类的对象来访问静态变量以及静态方法。可以直接通过类名访问即可。

2, 所有的覆盖方法都必须使用,@Override注解。

3.接口过时必须加@Deprecated进行注解,接口提供方应该说明接口已经过时,同时用户也就是接口调用方有权考究新接口是什么。注意:不能使用过时的类或者方法。

4.objects的equals方法容易产生空指针异常,因此应该尽量使用常量或者确定值的(对象)变量进行调用比较好

5,所有整型包装类的对象之间的值的比较度需要使用equals来进行比较。应为使用==并不会复用使用德对象,这是一个大坑。

6.浮点数之间的等值运算,基本数据类型之间不能使用==进行判断,,而包装类型不能使用equals判断。注意:(1)比较两个浮点数之间的大小,可以指定一个误差的范围大小,如果误差在此范围内那么就表示它们是相等的。(2)还有另一种方法就是使用大数运算的方法来比较大小。

7.为了防止精度的丢失,禁止将double类型的数据使用BigDecimal(double)的方法进类型转换,应该使用BigDecimal.valueof()放法这样子其实内补是double调用了tostring放法,因此它的精度是可以保留下来的。

8.使用包装类型的情况:所有的POJO类里面的属性一定要使用包装数据类型。注意RPC((远程通信))的方法的返回值以及参数全部是使用包装整数类型。推荐所有的局部变量均使用基本数据类型。
9.POJO类中必须写tostring方法。可以使用方法进行生成。。

10,final关键字作用的对象:类,方法,变量,本地变量以及类成员名。 修饰:(1)不能被继承的类。(2)不能修改引用的域对象。(3)不允许被覆盖重写的方法,例如:类中的setter方法。(4)不允许运行过程中重新赋值的成员(局部)变量。(5)避免上下文重复使用一个变量,这样子方便更好的进行重构。

Java开发手册学习与详解-实习第1,2天相关推荐

  1. Java开发常见面试题详解(LockSupport,AQS,Spring循环依赖,Redis)_3

    Java开发常见面试题详解(LockSupport,AQS,Spring循环依赖,Redis)_3 总览 问题 详解 String.intern()的作用 link LeetCode的Two Sum题 ...

  2. Java开发常见面试题详解(JVM)_2

    Java开发常见面试题详解(JVM)_2 JVM 问题 详解 JVM垃圾回收的时候如何确定垃圾?是否知道什么是GC Roots link 你说你做过JVM调优和参数配置,请问如何盘点查看JVM系统默认 ...

  3. Java开发常见面试题详解(并发,JVM)

    预览 并发 问题 详解 请谈谈你对volatile的理解 link CAS你知道吗? link 原子类Atomiclnteger的ABA问题谈谈?原子更新引用知道吗? link 我们知道ArrayLi ...

  4. 阿里巴巴java开发手册学习

    本文对阿里巴巴java开发手册中需要注意的点予以记录 1.编程规约 类名中包含领域模型如DO/BO/DTO/VO时要 全部大写,如UserDTO. 抽象类要以Abstract或Base开头,异常类以E ...

  5. Java开发常见面试题详解(LockSupport,AQS,Spring循环依赖,Redis)

    总览 问题 详解 String.intern()的作用 link LeetCode的Two Sum题 link 什么是可重入锁? link 谈谈LockSupport link 谈谈AQS link ...

  6. web前端开发入门学习线路图详解-2019升级版

    现如今,Web前端工程师已经成为各大互联网公司不可或缺的热门职位,从业者队伍日渐庞大,这其中不乏零基础学习者和转行人士.为了方便大家系统而全面的掌握前端基础知识,千锋小编特意整理了web前端开发入门学 ...

  7. 怎样配置Java开发环境?步骤详解

    配置Java开发环境 先了解三个概念 JVM JVM(Java Virtual Machine,Java虚拟机)是一种具备计算机核心配置的计算环境,在实际的计算机上虚拟计算机各种运算功能,有自己完善的 ...

  8. Java 开发神器 Lombok 使用详解(转载)

    文章目录 什么是Lombok Lombok的安装 Lombok的使用 @Data @Setter @Getter @Log4j @AllArgsConstructor @NoArgsConstruct ...

  9. Java开发环境配置过程详解(包括IDEA配置Java)

    Java开发环境配置 一.JDK下载安装 1. 官网下载JDK 2. 本地安装JDK 3. 配置环境变量 4. 验证是否安装成功 二.IDEA进行Java开发 1. 创建Java项目 2. 程序测试 ...

最新文章

  1. DeepFusion:基于单视图深度和梯度预测的单目SLAM实时稠密三维重建
  2. 使用python线性规划学习总结
  3. QQ音乐vkey获取,更新播放url
  4. 计算机jsp外文文献,计算机JSPweb外文翻译外文文献英文文献-20210615222802.docx-原创力文档...
  5. c# 获取当前活动窗口句柄,获取窗口大小及位置
  6. MvpFrame—MVP框架
  7. 片段中的findViewById
  8. 【ArcGIS|空间分析|网络分析】2 创建多模式网络数据集
  9. 云计算和虚拟化都要用到的核心技术 VXLAN 网络,你掌握了吗?
  10. 360浏览器html5无法播放,win7系统360浏览器播放不了视频的解决方法
  11. 2019.5.29 中移物联网前端实习生笔试
  12. 计算机颜色偏蓝,电脑整个屏幕颜色不正常偏蓝怎么调回正常颜色?
  13. php 微信订单,php 处理微信账单
  14. 163 VIP邮箱如何群发邮件?注册电子邮箱哪家发信效果好?
  15. 什么是单例模式 (Singleten)
  16. OpenGL ES的状态机说法其实也没那么云山雾照,比较容易理解!
  17. 2019年电赛D题《简易电路特性测试仪》全过程
  18. java学习+JDK下载安装环境配置+IDEA安装下载简单使用
  19. 凑硬币(58同城2017校招笔试题)
  20. SpringBoot SSM vue在线作业考试系统

热门文章

  1. 教你设置一个彰显个性的U盘图标和背景
  2. 唯品会翻牌ClickHouse后,实现百亿级数据自助分析
  3. 我的世界服务器核心文件,[细节]MC核心文件Server.properties的配置
  4. WPS中在任务栏显示MathType的标志
  5. Java 8备受宠爱,HarmonyOS冲刺全球第三大操作系统,全民热议元宇宙|2021十大技术热词...
  6. 基于java的土地档案管理系统设计与实现(项目报告+答辩PPT+源代码+数据库+部署视频)
  7. 爬虫解析库xpath
  8. MJ优质博主清单;把ChatGPT调教为英语私教;绝美SD Prompt手册;AgentGPT体验全记录;2项AI工具最强更新 | ShowMeAI日报
  9. 【虚拟试衣论文笔记】Towards Scalable Unpaired Virtual Try-On via Patch-Routed Spatially-Adaptive GAN
  10. 批量html水印,图片批量水印工具-MetInfo帮助中心