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,如果是集合,必须返回空集合 ...
随机推荐
- Spring和Hibernate结合的一个小例子
1.新建一个SpringHibernate的maven项目 2.pom文件的依赖为 <dependency> <groupId>junit</groupId> &l ...
- nodejs的socket.io学习笔记
socket.io学习笔记 1.服务器信息传输: 2.不分组,数据传输: 3.分组数据传输: 4.Socket.io难点大放送(暂时没有搞定): 服务器信息传输 1. // send to curre ...
- css3之弹性盒模型初探(一)
什么是弹性盒模型? 弹性盒模型是指在父级改变大小的时候内部的自己元素也会相应的改变大小,即子集会按照父级的大小按比例自适应大小. 弹性盒模型的提出可以解决一些响应式布局的需求 如何使用弹性盒模型? ...
- v-model的双向数据绑定(表单)
可以用 v-model 指令在表单 <input>.<textarea> 及 <select> 元素上创建双向数据绑定.它会根据控件类型自动选取正确的方法来更新元素 ...
- cf1043F. Make It One(dp 容斥原理)
题意 题目链接 给出\(n\)个数,问最少选几个数,使他们的\(gcd = 1\) Sol 好神仙啊qwq. 首先,如果答案存在,那么最多为\(7\)(因为前\(7\)个质数乘起来\(>= 3e ...
- ef使用dbfirst方式连接mysql
1.安装 mysql connector net 6.9.9 https://dev.mysql.com/downloads/file/?id=463758 和mysql for visual st ...
- VC编程操作word2010生成表格
作者:朱金灿 来源:http://blog.csdn.net/clever101 一. 右键单击工程节点,然后选择添加类,如下图: 二. 添加TypeLib中的MFC类,如下图: 三. 选 ...
- 浅谈回归(二)——Regression 之历史错误翻译
我很好奇这个问题,于是搜了一下.我发现 Regression 这个词 本意里有"衰退"的意思. 词根词缀: re- 回 , 向后 + -gress- 步 , 级 + -ion 名词 ...
- Python & Selenium & Pycharm 环境搭建
最近在研究python+selenium进行自动化测试.然后用的python开发工具是Pycharm.然后,今天就跟大家讲一下怎么搭建一整套的自动化测试环境. 安装python 首先,安装python ...
- 自学git心得-2
趁着最近还没忙起来,抓紧更新一下学习心得. 现在的情景是,我们已经在本地创建了一个Git仓库,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备 ...