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,如果是集合,必须返回空集合 ...
随机推荐
- python使用元类
原文:https://blog.csdn.net/youzhouliu/article/details/51906158 type() 动态语言和静态语言最大的不同,就是函数和类的定义,不是编译时定义 ...
- nodejs项目目录结构规范
参考: https://github.com/jifeng/node-app dispatch.js 主进程文件 worker.js 工作进程 app.js 应用 routes.js url路由表 p ...
- Java泛型拾遗
先上百度百科的解释 泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数.这种参数类型可以用在类.接口和方法的创建中,分别称为泛型类.泛型接口.泛型方 ...
- 小任务之使用SVG画柱状图~
function drawBar(data) { var barGraph = document.querySelector("#bar-graph"); var graphWid ...
- Axios介绍和使用
一.介绍 Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中. 官方资料和介绍 从浏览器中创建 XMLHttpRequests 从 node.js 创建 h ...
- webstorm添加自定义代码块
widnow下使用alt+ctrl+s 调出setting面板 mac下使用command+,(逗号)调出Preferences面板 搜索live template选中js,在javascrpt 模板 ...
- Android常用的图片加载库
Android常用的图片加载库 前言:图片加载涉及到图片的缓存.图片的处理.图片的显示等.四种常用的图片加载框架,分别是Fresco.ImageLoader. Picasso. Glide. Uni ...
- SQL Server ->> Computed Column(计算列)
Computed Column(计算列)是自SQL Server 2005开始就有的特性.计算列的定义是一个表达式.表达式可以是非计算列,常量,函数间的组合.但是不可以是子查询. 计算列数据固化 默认 ...
- 高逼格UILabel的闪烁动画效果
高逼格UILabel的闪烁动画效果 最终效果图如下: 源码: YXLabel.h 与 YXLabel.m // // YXLabel.h // // Created by YouXianMing o ...
- Thrift学习笔记—IDL基本类型
thrift 采用IDL(Interface Definition Language)来定义通用的服务接口,并通过生成不同的语言代理实现来达到跨语言.平台的功能.在thrift的IDL中可以定义以下一 ...