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,如果是集合,必须返回空集合 ...
随机推荐
- lintcode 题目记录3
Expression Expand Word Break II Partition Equal Subset Sum Expression Expand 字符串展开问题,按照[]前的数字展开字符 ...
- mybatis整合spring的时候配置数据库信息文件properties注意事项
信息后面不能有空格 ,格式要xxx.driver xxx.url 这样
- 前端学习之路之CSS (三)
Infi-chu: http://www.cnblogs.com/Infi-chu/ 创建CSS有三种方法:外部样式表.内部样式表.内联样式.优先级:内联样式>内部样式>外部样式表> ...
- layui-学习01-基本api
全局配置 layui.config({ dir: '/res/layui/', //layui.js 所在路径(注意,如果是script单独引入layui.js,无需设定该参数.),一般情况下可以无视 ...
- JavaScript练习笔记整理·1 - 6.23
练习平台Codewars地址:https://www.codewars.com/ 欢迎和大家一起来讨论~╭( ・ㅂ・)و ̑̑ 基础练习(1): 我的解答为: class SmallestIn ...
- python 测试:生成exe文件
任务: test.py print(input('请输入:')) 将test.py生成test.exe 解答: 安装: pip install pyinstaller 命令使用: (绝对地址)pyin ...
- leetcode-longest palindromic substring-by 1337c0d3r
Given a string S, find the longest palindromic substring in S. Note:This is Part II of the article: ...
- 关于派生类访问基类对象的保护变量的问题 --Coursera
https://class.coursera.org/pkupop-001/forum/thread?thread_id=350 郭天魁· 6 months ago 在课件中我们知道如下程序是不能 ...
- SQLSERVER 中GO的作用
go 向 SQL Server 实用工具发出一批 Transact-SQL 语句结束的信号.go是把t-sql语句分批次执行.(一步成功了才会执行下一步,即一步一个go) BEGIN 和 END 语句 ...
- 如何申请免费域名证书,以及在IIS上绑定
1.前往https://freessl.cn/ 申请域名 证书 2.输入邮箱后,点击创建.文件验证方式 会自动下载一个压缩包,把该压缩包放到所申请的域名首层下.(不要重复创建,需要3,5分钟.最好手动 ...