Java 编码规范(转)
本文转自:http://www.javaranger.com/archives/390
文章总结出了java编码过程中的一些规范,以便参考。
1、合理组织代码层次,分层清晰:controller、logic、dao、对第三方接口(包括公司接口)的调用;各层要继承基类或实现接口
2、先定义方法原型,再实现方法体
3、理想的方法,是不可拆分的、原子的一个逻辑实现,具有一个明确的职责
4、方法体不超过70行,类体不超过500行
5、类名称、变量名称、方法名称,遵循简单明确,知名见义原则。建议不带数字,下划线等特殊字符(类常量除外),采用有意义的名词或者名称组合、动宾结构(反对使用拼音命名)
6、常量名大写
7、代码逻辑块之间留有空行;等号、运算符号、变量两边留有空格
8、循环、条件语句嵌套不超过2层 (最好的避免嵌套的方法就是尽早return、合并条件、利用子方法)
9、类注释描述职责;变量要有明确的注释;方法注释描述职责,输入、输出要有说明;复杂逻辑片断,要有说明;注释要简洁明了
10、关键点要有日志;记住生产环境为info级;debug日志要先判断设置级别;日志不允许打印用户的密码,账户等敏感信息;禁止使用System.out
11、方法参数不超过4个
12、boolean变量使用is前缀;返回boolean类型的方法名使用is前缀
13、最大程度复用,相同的代码片断只出现一次,相同语义的变量只定义一个
14、if判断逻辑过于复杂的,必须单独提练为方法
15、必须对边界条件做处理
16、异常处理,建议try..catch,反对throw;对于捕获的异常信息,必须将异常堆栈打印出;尽可能减小try的代码范围
17、禁止对测试用的数据硬编码
18、禁止存放注释掉的代码
19、配置项编写配置文件,反对硬编码
20、 不能修改的变量要加final,不能被重写的方法要加final
21、数据库连接,必须使用连接池
22、IO操作(文件、URL、DB等),牢记finally语句中close
23、反对似懂非懂,反对没掌握使用即引入新技术
24、自动化测试case符合下单要求
25、鼓励使用设计模式
Java 编码规范(转)的更多相关文章
- 资料推荐--Google Java编码规范
之前已经推荐过Google的Java编码规范英文版了: http://google-styleguide.googlecode.com/svn/trunk/javaguide.html 虽然这篇文章的 ...
- Eclipse formater(google Java 编码规范)
1. 谷歌Java编码规范 http://google-styleguide.googlecode.com/svn/trunk/javaguide.html 2. 下载配置文件: https://co ...
- 标准的Java编码规范手册
编码规范体现出一个开发者的基本素质,良好的编码规范可以提高团队编码的效率,避免很多不必要的问题.今天分享一个标准的Java编码规范给大家,希望对于大家今后的开发工作带来帮助. 编码规范的意义 ...
- 阿里Java编码规范
详细,全面 很不错 阿里 Java编码规范
- Java基础学习总结(92)——Java编码规范之排版、注释及命名
为使开发人员养成良好的开发习惯,编写可读性强.易维护的程序,结合以往资料,现整理Java编码规范,将之作为开发人员的参照依据. 一.排版 1.相对独立的程序块之间必须加空行 下列情况应该使用一个空行: ...
- CheckStyle,定制属于自己的Java编码规范
前言 如今,代码规范几乎是当下稍有追求的团队都要求做到的,但是对于Java编码规范,不同的公司或团队却有着不同的标准.尽管官方提供了一些标准,但是在基本规则的基础上,各大公司又有自己的规范,比如Sun ...
- Google 推出的 Java 编码规范(转)
原文地址:http://www.dahuatu.com/1225/988516.html 原文地址:http://www.dahuatu.com/1225/988516.html 原文地址:http: ...
- Google的Java编程风格指南(Java编码规范)
这份文档是Google Java编程风格规范的完整定义.当且仅当一个Java源文件符合此文档中的规则, 我们才认为它符合Google的Java编程风格. 与其它的编程风格指南一样,这里所讨论的不仅仅是 ...
- 个人整理--Java编码规范
编码规范对于开发人员来说是非常重要的,有以下几个原因: 1.一个软件的生命周期中,80%的花费在于维护 2.几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护 3.编码规范可以改善软件 ...
- 阿里java编码规范考试总结
前几天,考了阿里编码规范刚好80险过,总结出以下例题,答案有错,欢迎评论 1.关于方法的返回值是否可以为null,下列说法正确的是(BCD) A.方法的返回值可以为null,如果是集合,必须返回空集合 ...
随机推荐
- 四层协议和Socket编程
<四层协议图> <Soclet编程模型图>
- Effective C++ .09 不在构造和析构过程中调用virtual函数
看过C++对象模型的话就可以知道,在构造基类时,完整的vtable没有建立起来(表项没有被相应的子类函数替换),因而无法调用到子类的函数(即构造函数中的virtual函数是本类里的方法,不是virtu ...
- 20个实用的javascript技巧及实践(一)
在本篇文章中,我们将会向大家分享JavaScript开发中的小技巧.最佳实践和实用内容,不管你是前端开发者还是服务端开发者,都应该来看看这些编程的技巧总结,绝对会让你受益匪浅的. 文中所提供的代码片段 ...
- EMSAscript
1.javaScript 中const.var.let区别 const 定义的变量不可修改 而且必须初始化 =>解决闭包变量污染问题 var 定义的变量可以修改 如果不初始化则默认值为undef ...
- 基于Docker搭建GitLab服务器
运行环境:CentOS 7.4 一.安装Docker Docker安装可以参照runoob教程(http://www.runoob.com/docker/centos-docker-install.h ...
- Python爬虫--- 1.1请求库的安装与使用
来说先说爬虫的原理:爬虫本质上是模拟人浏览信息的过程,只不过他通过计算机来达到快速抓取筛选信息的目的所以我们想要写一个爬虫,最基本的就是要将我们需要抓取信息的网页原原本本的抓取下来.这个时候就要用到请 ...
- 【转】Web服务器之Nginx详解(理论部分)
大纲 一.前言 二.Web服务器提供服务的方式 三.多进程.多线程.异步模式的对比 四.Web 服务请求过程 五.Linux I/O 模型 六.Linux I/O 模型具体说明 七.Linux I/O ...
- 二十三、css如何实现锯齿形---border-image
css如何实现这样的样式: 解决方案: 这里需要用到的技术是border-image的灵活运用,首先需要一张图片,这里我选中的是这样子的,此后 的图片可以拿这个更改圆形的颜色以更改锯齿颜色: 底部透明 ...
- C#清空回收站
曾经用过bat处理回收站,但是效果很不理想(应该是我水平不够吧),后来发现C#可以直接调用系统dll,非常简单.下面是具体函数: class ClearRecycle { [DllImport(&qu ...
- AWS的load balance
Route53实现了地理上的load balance; ELB实现了region内的load balance CloudFront实现了静态内容的全网加速 ZULh?*;&T(