提高开发效率,比较重视代码规范,尤其是可扩展性和可维护性,以及可读性。如果你是一个刚进公司的开发者,最好先问问前辈是否有

内部的开发规范,花点时间过一遍。即使提交代码没有review的步骤,自己心里应该有个规范。业内比较统一的此处不总结。

  一 、命名风格

  1、抽象类以Abstract或Base开头,异常类以Exception结尾,枚举类以Enum结尾,常量类以Consts结尾,测试类以Test结尾

  2、数组定义中类型与中括号紧挨 int[] arr;

  3、POJO类中布尔类型的变量,都不要加is前缀

  4、包名使用单数形式,类名若有复数含义可用复数形式,如Utils

  5、除非业内公认的缩写,单词不要缩写

  6、若使用了设计模式,以模式名结尾,如OrderFactory,ServiceProxy

  7、接口类的方法和属性不要加任何修饰符号,1.8以前的方法默认都是public abstract 修饰,属性都是public static final的

1.8及以后的加入了static和default修饰符,这两种修饰的方法都需要方法体

  8、接口和实现类:XxxService,XxxServiceImpl,XxxDao,XxxDaoImpl

  9、结构分层的类的方法命名:

    (1)获取单个对象用get做前缀 getObject

    (2)获取多个对象用list做前缀+复数形式结尾 listObjects

    (3)获取统计值用count做前缀

    (4)插入方法用save/insert做前缀

    (5)删除用remove/delete做前缀

    (6)修改用update做前缀

    (7)2种VO:数据表对象xxxDO,网页视图对象xxxVO

  二、常量定义

  1、long型赋值以大写的L结尾,以免数字1与小写字母l混淆

  2、常量类也要分类,不要全部放在一起。比如缓存相关的常量用CacheConsts,系统配置相关的用ConfigConsts,

这些类均放在constant包下,类内部的常量放在本类中使用,不要公开出来放在常量类中

  3、变量值仅在一个固定范围内变化的,用enum类型定义。比如常见的数据库字段值的汉字转义

  三、代码格式

  1、大括号,看示例:(另外左侧大括号与字符留一个空格)   

int a(){};

int a(){
System.out.println("1");
}
int a(int b){
if(b==1){
System.out.println("1");
}else if(b==2){
System.out.println("2");
}else{
System.out.println("3");
}
}

  2、小括号,左右小括号与字符都不留空格。if/for/while等保留字与括号加一个空格

  3、运算符左右都加一个空格

  4、使用统一的Tab缩进,自行在IDE等开发工具上提前设置

  5、换行:运算符以及点号调用符与下文一起换行,参数换行在逗号后换行。最常见的是append("xxx")方法

  6、IDE统一设置text file encoding为utf-8;换行符使用Unix格式,不要用Windows格式

  7、方法总行数不要过多,一般建议是80行,额外逻辑应提取出来独立一个方法,使主干逻辑清晰

  8、除了逻辑或者业务意义需要加一个空行来隔开,其他的情况不要出现无意义的空行

最后:Intellij类写完了一定要按Ctrl+Alt+O,Ctrl+Alt+L;  Eclipse类写完了一定要按Ctrl+Shift+F,否则你一定要良心过不去

java编程规约一的更多相关文章

  1. java编程规约二

    四.OOP规约(Object Oriented Programming,面向对象设计) 1.静态变量和静态方法直接用类名访问,不要再new 对象去访问 2.方法覆盖必须加@Override注解 3.尽 ...

  2. java编程规约三

    七.集合处理 1.尽量使用String对象做Map的key 2.list转数组,用list的toArray(T[] array),传入的参数array是类型完全一样的数组,大小是list.size() ...

  3. java基础- Java编程规范与注释

    一 前言 java编程规约是指在java代码编写过程中通俗的约定:通常我们是要遵守这些规范:这好比我们在生活中要遵守的道德准则,如果你做的事情超出了道德的底线,那就有可能会受到社会抨击:在java编程 ...

  4. 点评阿里JAVA手册之编程规约(OOP 规约 、集合处理 、并发处理 、其他)

    下载原版阿里JAVA开发手册  [阿里巴巴Java开发手册v1.2.0] 本文主要是对照阿里开发手册,注释自己在工作中运用情况. 本文难度系数为三星(★★★) 本文为第二篇 第一篇 点评阿里JAVA手 ...

  5. 点评阿里JAVA手册之编程规约(命名风格、常量定义、代码风格、控制语句、注释规约)

    下载原版阿里JAVA开发手册  [阿里巴巴Java开发手册v1.2.0] 本文主要是对照阿里开发手册,注释自己在工作中运用情况. 本文难度系数为一星(★) 码出高效.码出质量. 代码的字里行间流淌的是 ...

  6. 读阿里巴巴Java开发手册v1.2.0之编程规约有感【架构篇】

     不为过去蹉跎,改变当下. 为什么开篇就送这么一句话给大家,我相信很多处于1-3年码龄的哥们儿们,在平时的编码历程中编码的个性可能是多彩的,每个人都有每个人特定的风格,但是我们现在这么随意写,以后这么 ...

  7. 《阿里巴巴Java开发手册v1.2》解析(编程规约篇)

    之前在乐视天天研究各种底层高大上的东西,因为我就一个人,想怎么弄怎么弄.如今来了新美大,好好研读一下<阿里巴巴Java开发手册v1.2>.还要对这么看似简单的东西解析一番.毕竟现在带团队, ...

  8. 阿里Java开发手冊之编程规约

    对于程序猿来说,编程规范能够养成良好的编程习惯,提高代码质量,减少沟通成本.就在2月9号,阿里出了一份Java开发手冊(正式版),分为编程规约.异常日志.MySQL规约,project规约.安全规约五 ...

  9. Java 开发手册之编程规约

    一.编程规约 (一) 命名规约 1.[强制] 代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束.(代码规范,易读) 反例: name / __name / $Object / n ...

随机推荐

  1. Android中的Serialable和Parcelable的区别

    本文主要介绍Parcelable和Serializable的作用.效率.区别及选择,关于Serializable的介绍见<Java中的序列化Serialable高级详解> 1.作用 Ser ...

  2. Ubuntu安装msf

    环境 root运行 ubuntu18.04 腾讯云服务器 控制面板上面所有的端口全部放行 本机自带防火墙已拆 拆墙是为了能msf接受到会话 安装 curl https://raw.githubuser ...

  3. NX二次开发-UFUN获取块的参数UF_MODL_ask_block_parms

    NX11+VS2013 #include <uf.h> #include <uf_modl.h> #include <uf_ui.h> UF_initialize( ...

  4. sqlserver 调优(二)

    良好的系统和数据库设计,优质的SQL编写,合适的数据表索引设计,甚至各种硬件因素:网络性能.服务器的性能.操作系统的性能,甚至网卡.交换机等.这篇文章主要讲到如何改善SQL语句,还将有另一篇讨论如何改 ...

  5. Fedora Linux 安装Qt5.2.0

    1.下载 qt-linux-opensource-5.2.0-x86-offline.run 2. chmod u+x ./qt-linux-opensource-5.2.0-x86-offline. ...

  6. Spring随笔-bean装配-自动装配

    Spring提供了三种装配方式 1.XML文件进行显式装配 2.java中进行显示装配 3.自动化装配 1.自动化装配的两种实现方式 1.组件扫描:Spring会自动发现应用上下文中创建的bean 2 ...

  7. 关于idea中,web项目启动tomcat,访问资源报错404

    背景: web项目启动tomcat,访问相应的资源,报错404,前提资源路径是没错的. 原因: 1.确定是不是web项目 不是的话: 配置web-inf的路径和webroot(web根目录)的路径 2 ...

  8. SpringMVC(day1搭建SpringWebMvc项目)

    MVC和webMVC的区别 Model(模型) 数据模型,提供要展示的数据,因此包含数据和行为,行为是用来处理这些数据的.不过现在一般都分离开来:Value Object(数据) 和 服务层(行为). ...

  9. Python服务端工程师就业面试指导✍✍✍

    Python服务端工程师就业面试指导  整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单论单个知识点课程本身没问题,大家看的时 ...

  10. KNN 实战

    KNN算法很简单,大致的工作原理是:给定训练数据样本和标签,对于某测试的一个样本数据,选择距离其最近的k个训练样本,这k个训练样本中所属类别最多的类即为该测试样本的预测标签.简称kNN.通常k是不大于 ...