JAVA总结--代码规范
一、命名规范
1、标识符:统一、达意、简洁
统一:一个词有多种表达方式,不求最好,但求统一;例:供应商,既可以用supplier,也可以用provider,选择一种统一使用;
达意:明确表达其意义,正确而且丰富;例:newSupplier与supplier1, service2的区别;
简洁:在统一与达意的前提下,进行简洁;若不能达意,请放弃简洁;
骆驼法则:不使用特殊符号分割,而是通过首字母大写来分割;例:SupplierName, addNewContract;
英文与拼音:尽量使用简单的英文或者全部使用拼音,拒绝英文拼音混合使用;
2、包名:小写、链接
包名:全部使用小写;不使用特殊符号分割;
3、类名
类名:首字母大写,每个单词的都大写
后缀:Service、Impl、Inter、Dao、Action、listener、Event、Servlet、Factory、Job..
4、方法名
方法名:首个单词首字母小写,后续单词首字母大写
前缀:create、delete、add、remove、initialize、destroy、open、close、read、get、copy、modity、send、find..
二、空格空行
空格使用(1个紧随,2个为前后):分隔时1个;运算符2个;逗号1个;例:call(a, b, c);b - d = e;return a == b ? 1 : 0;if (a > b)
空行使用:语意操作;方法之间;超十行;
三、代码注释
代码混乱,再多的注释都不能弥补;达意+统一+简洁+结构清晰==较少的注释
注释:少而精;代码意义注释;非代码管理;svn的无用代码删除时代
单行时用 //, 多行时用 /* .. */;流程-包围;流程-大括号;
四、最佳实践
1、懒惰的程序员,每次保存提交时,都要保持最优代码;每次保存的必须为最美的代码;
2、log更多的评级使得其优于println;
3、if while for 后边加括号;
4、//TODO让大家知道,你还有什么没做;
5、用“;”或者"//nothing to do " 来说明你故意不需要做什么;
6、减少嵌套层次;减少true/false的判断;减少变量的作用域;减少使用返回结果的方法;变量声明、初始化、使用尽量放在一起;
JAVA总结--代码规范的更多相关文章
- Java&Android代码规范
项目中直接导入Square的代码风格文件.(不导入Google的原因是Square同时提供了Java和Android两套统一风格,Google只提供了一套) Square Code Styles Go ...
- java注释代码规范
//收集了一小部分,忘记的时候过来查一下 java--hadoop部分 /** * 此类用来处理DNS原始日志:统计给定域名平均响应时延 * @param Input * @param Output ...
- java idea 代码规范插件
推荐阿里的 p3c https://github.com/alibaba/p3c
- java web代码规范:
每个类前要有注释,类前的注释格式是: /** *类是干什么的 *@author 编写该类的作者 */ 类中的每个方法前也要有注释: /** *该方法是干什么的 *@param 该方法中传入的参数 * ...
- Java代码规范
Java代码规范 本Java代码规范以SUN的标准Java代码规范为基础,为适应我们公司的实际需要,可能会做一些修改.本文档中没有说明的地方,请参看SUN Java标准代码规范.如果两边有冲突,以SU ...
- Java 代码规范,你应该知道的一些工具和用法
从事编程这个行业,你一定被别人说过或者说过别人这句话:代码要规范!求职面试时也能从 JD 上看到这个要求:要有良好的编程习惯.其实都是在讲代码规范(Code Style)这件事情. 每个人都有自己的编 ...
- Java代码规范和一些常见问题
本文中的代码规范,是Java标准代码规范中的一小部分,在我看来,是最重要的一部分. 理想目标:不需要写注释,不需要和别人介绍,别人就知道你的项目大致是做什么的,每个类大概实现了什么功能. ...
- Java 代码规范,你应该知道的一些工具和用法(转)
转自:http://yifeng.studio/2017/06/30/coding-with-code-style/ Java 代码规范,你应该知道的一些工具和用法 2017-06-30 从事编程这个 ...
- C#与Java对比学习:类型判断、类与接口继承、代码规范与编码习惯、常量定义
类型判断符号: C#:object a; if(a is int) { } 用 is 符号判断 Java:object a; if(a instanceof Integer) { } 用 inst ...
随机推荐
- Manjaro系统和软件安装记录
Linux桌面环境 ArchLinux官方wiki manjaro官方wiki pacman官方wiki 从www.distrowatch.com可以查看Linux发行版排行榜,可以看到manjar ...
- postman(三):详解postman动态变量使用
参考: Variables Dynamic variables
- MyEclipse XML & XML架构教程:XML Schema (XSD)编辑器
[MyEclipse CI 2019.4.0安装包下载] 1. MyEclipse中的XSD编辑 本文档介绍MyEclipse XML Schema(XSD)编辑器中的一些可用函数.XML Schem ...
- 去掉input密码框自动补全功能
<input name="password" autocomplete="off" hidden> <input type="pas ...
- IO流二
1 数据流(了解) 1.1 概述 为了方便的操作java语言的基本数据类型和String类型的数据,可以使用数据流. 数据流的分类: DataInputStream DataOutputStream ...
- Django【第18篇】:Django之缓存
Django 之缓存 一.缓存 由于Django是动态网站,所有每次请求均会去数据进行相应的操作,当程序访问量大时,耗时必然会更加明显,最简单解决方式是使用:缓存,缓存将一个某个views的返回值保存 ...
- CF839E Mother of Dragons 最大团 Bron-Kerbosch算法
题意简述 给你一个\(n\)个节点的无向图\(G=\{V,E\}\)的邻接矩阵\(g\)和每个点的点权为\(s_i\),且\(\sum_{i=1}^n s_i = K\),要你求出\(\mathrm{ ...
- kettle中使用mysql的tinyint 类型到slqserver的tinyint类型
各个数据库之间的类型 定义还是有差别的 一下是我在工作中遇到的一个很奇葩的问题 mysql 中的 tinyint 类型 插入到sqlserver 的tinyint 类型 插入到 sqlserver的 ...
- Git之仓库管理
介绍以及安装: Git 是一个开源的分布式版本控制软件,用以有效.高速的处理从很小到非常大的项目版本管理. Git 最初是由Linus Torvalds设计开发的,用于管理Linux内核开发.Git ...
- Linux内核设计与实现 总结笔记(第十二章)内存管理
内核里的内存分配不像其他地方分配内存那么容易,内核的内存分配不能简单便捷的使用,分配机制也不能太复杂. 一.页 内核把页作为内存管理的基本单位,尽管处理器最小寻址坑是是字或者字节.但是内存管理单元MM ...