开始做java的ITOO了,近期的工作内容就是按照代码规范来改自己负责的代码,之前做机房收费系统的时候,也是经常验收的,甚至于我们上次验收的时候,老师也去了。对于我们的代码规范,老师其实是很重视的,他总说,文档和图最重要!不过我对于这句话的感触一直不太深,认为大家不太可能直接在U层直接调D层。知道我看到java的代码,没有在U层调D层,直接在B层调了底层。。。。

之前的时候,一直把代码规范代码规范当成耳旁风,觉得自己遵守就没啥问题了,现在才知道自己太天真了。因为,代码不是写来运行的,代码是写给别人看的!

下面是一些我们写代码时的规范,与大家共勉!

1. 写干净整洁的代码,请尊重空间,请尊重人眼的偏好

1.1 去除没有用到的类引用,eclipse里面Ctrl+Shilft+O。看到一大片的因为类引用没有用到而报的警告信息简直就是灾难,空间和视觉都没有得到尊重。

1.2 记得格式化代码,eclipse里面Ctrl+Shilft+F。看到一大片杂论无章,连基本的对齐都没有的代码也是很大的灾难,视觉脑力都会受到挑战。

1.3 不要吝惜废弃的老代码,eclipse里面Ctrl+D。有些人对待已经废弃的老代码比对待自己的老婆还宝贝,大量运用注释来保留,随 着代码的演变暂用非常大量的空间。如果那段代码非常精妙,舍不得删,那么请把它移到您的私人代码库。

1.4 请不要写冗余无用的代码。if(true)之类的代码块完全不应该出现,用空行隔开该段代码是更好的选择。

1.5 请合理运用空行。空行可以用来隔开相对独立的代码块,有利于阅读和理解。但是不要使用超过一行的空行,对空间,别太奢侈了。

1.6 请不要在两个地方出现完全相同的代码,您总是可以想办法重用的,不是吗?

1.7 命名类,方法,变量慎用简写,除非大家都公认。全称我都不一定看得懂,简称您太高估我的智商了!请问qrbs代表什么,可能火星人知道吧!

1.8 把所有的类变量放到最前面,如果比较多请按用途分组排列,不要把变量散落在大江南北,我找的真的很辛苦!

1.9 拆分大的类,大的方法,如果您的类有一万行,如果您的方法有一千行,我真的会恐惧,是恐惧!

2. 高效运用注释

2.1 规范的注释类信息。请查看一下Java标准库的String.java源码吧,包括文件名,日期,作者,版本号等信息,用统一的模板。千 万别把您的大名散落于方法签名甚至于具体代码里面了。我在读业务逻辑的时候没有兴趣思考您的人生!要找您我可以在类签名里面找到的,放心啊!

2.2 非Java Bean的public方法都需要注释,您总不会要别人读您的代码才能调用您的代码吧!即便您的英文非常好,命名也非常规范,您总不能期待别人都英文好,理解都一样吧。

2.3 为不容易理解类变量注释。类变量特别是私有的类变量没有人要求注释,但是为了能够快速的了解您表示的是什么,还是写点什么吧!您知道我英文不算好!

2.4 注释代码段,注释逻辑选择。上面提到运用空行分割开逻辑相对独立的代码,那么请在空行的下一行也写点下面代码段要干什么的语句吧。 如果有if else等逻辑选择的时候,麻烦也花几秒钟写上判断的依据和结果好吗?逻辑难懂且关键,您懂的!

JAVA代码规范 标签: java文档工作 2016-06-12 21:50 277人阅读 评论(5) 收藏的更多相关文章

  1. [java]反射1 2017-06-25 21:50 79人阅读 评论(10) 收藏

    很多东西的实现基础,都是反射,spring的AOP,动态代理等等,下面咱们来学习一下Java的反射 什么是反射? JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于 ...

  2. Java解析HTML之HTMLParser使用与详解 分类: C_OHTERS 2014-05-19 21:46 2309人阅读 评论(0) 收藏

    转自:http://free0007.iteye.com/blog/1131163 HTMLParser具有小巧,快速的优点,缺点是相关文档比较少(英文的也少),很多功能需要自己摸索.对于初学者还是要 ...

  3. [java]struts2 模型驱动 2016-05-01 21:40 702人阅读 评论(19) 收藏

    一开始敲网上商城的时候,对于数据的传递方式我是很惊艳了一把的,感觉特别高大上,就感觉,竟然不用像.net一样取谁的值,给谁赋值这样,只要需要用的时候,简单的get一下就ok了,简直高大上啊. 然后发现 ...

  4. 树莓派入手(烧写系统,调整分区,配置Java环境,串口GPS配置) 分类: Raspberry Pi 2015-04-09 21:13 145人阅读 评论(0) 收藏

    原来的tf卡无故启动不起来,检查发现其文件系统分区使用率为0%. 数据全部丢失!!!!! 血的教训告诉我们备份文件系统的重要性,一切需要重头来.... 烧录系统 安装系统有两种方式, NOOBS工具安 ...

  5. 【搜索引擎Jediael开发4】V0.01完整代码 分类: H_HISTORY 2014-05-21 21:35 470人阅读 评论(0) 收藏

    截止目前,已完成如下功能: 1.指定某个地址,使用HttpClient下载该网页至本地文件 2.使用HtmlParser解释第1步下载的网页,抽取其中包含的链接信息 3.下载第2步的所有链接指向的网页 ...

  6. el标签 2016-06-05 21:39 477人阅读 评论(15) 收藏

    JSP EL语言定义 E L(Expression Language) 目的:为了使JSP写起来更加简单. 表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP ...

  7. 【JAVA编码专题】UNICODE,GBK,UTF-8区别 分类: B1_JAVA 2015-02-10 21:07 153人阅读 评论(0) 收藏

    简单来说,unicode,gbk和大五码就是编码的值,而utf-8,uft-16之类就是这个值的表现形式.而前面那三种编码是一兼容的,同一个汉字,那三个码值是完全不一样的.如"汉"的uncode值与g ...

  8. MFC显示文本文档 分类: MFC 2014-12-30 10:03 457人阅读 评论(1) 收藏

    新建基于对话框的MFC应用程序.资源视图的对话框上添加编辑框(Edit Control)和按钮(Button), 将编辑框属性:Mutiline.Auto HScroll.Auto VScroll设为 ...

  9. 单机/伪分布式Hadoop2.4.1安装文档 2014-07-08 21:16 2275人阅读 评论(0) 收藏

    转载自官方文档,最新版请见:http://hadoop.apache.org/docs/r2.4.1/hadoop-project-dist/hadoop-common/SingleCluster.h ...

随机推荐

  1. JosnRpcClient

    <?php /** * Simple JSON-RPC interface. */ namespace org; class JosnRpcClient{ protected $host; pr ...

  2. 使用koa-body中间件后DELETE请求中ctx.request.body内容为空

    gitbook浏览此随笔 出现场景 在使用koa-body 做文件上传的时候,发现使用DELETE请求时,request.body中的内容为空对象{} app.js //code... const K ...

  3. myql 配置项

    提高数据插入速度方法 bulk_insert_buffer_size 默认:8M (8*1024*1024) 参考网址:https://stackoverflow.com/questions/2030 ...

  4. mysql过多sleep连接 修改timeout配置节约连接数 配置连接数

    数据库连接数量我设置了16384,最大值 ; 对于mysql8在设置一下这个 SET GLOBAL mysqlx_max_connections = ; 可以使用 命令查看自己的设置 SHOW var ...

  5. navicat修改mysql用户密码,前提是能登陆

    幸亏之前已经连上了数据库后边才忘记密码

  6. 为什么要使用ul li布局网站导航条?使用ul li布局网站网页导航必要性

    会布局的都知道网站导航条布局非常重要,可能一个导航条最终布局效果有时可以使用ul li列表标签布局,有时可以不用ul li布局,而是直接一个div盒子里直接放锚文本超链接的栏目名称,也能实现,看下图. ...

  7. qq在线

    <a target="_blank" href="http://wpa.qq.com/msgrd?v=3&uin=1749904992&site=q ...

  8. Ajax--解析JSON数据与解析XML数据

    一.Ajax解析JSON数据 nav.json(json数据) [ { "link":"http://www.jd.com", "src": ...

  9. callee和caller属性的区别

    在函数内部,有两个特殊的对象:arguments和this .arguments是一个类数组对象,用于存放传入函数中的所有参数. callee是arguments对象的属性,caller是所有函数对象 ...

  10. webpack学习之——npm的安装依赖情况

    这几天一直在研究webpack模块话打包工具,在网上的资源还是蛮丰富的,现在总结下这块的内容,需要好好的研究下,如果有问题,还请指正. 先是第一个为问题,就是npm-install --save 和n ...