hbh 开发规范文档

一:目的

使本组织能以标准的,规范的方式设计和编码。通过建立编码规范,以使每个开发人员

养成良好的编码风格和习惯;并以此形成开发小组编码约定,提高程序的可靠性,可读性,

可修改性,可维护性和一致性等,增进团队间的交流,并保证软件产品的质量。

二:代码组织与风格

1:长度:为便于阅读和理解,单个函数的有效代码长度当尽量在100行以内(不包括注行),

当功能模块过大时往往采用使用子函数将相应的功能抽取出来,这也有利于提高代码的重用度。

2:间隔:类,方法及功能块间等应以一个空行相隔,以增加可读性,但不得有无规则的大片空行。操作符两端应当各空一个字符以增加可读性。

三:注释

1:注释应该增加代码的清晰度。代码注释的目的时要使代码更易于被其他开发人员等理解。

2:保持注释的简洁。

3:注释信息应该包括代码的功能。

4:除变量定义等较短语句的注释使用行尾注释外,其他注释当避免使用行尾注释

5:JavaDoc规范

对类,方法,变量等注释需要符合

javadoc规范,对每个类,方法都应详细说明其功能条件,参数等。

1)类,接口注释

在类,接口定义之前当对其进行注释,包括类,接口的目的,作用,功能,继承于何种父类,实现的接口,实现的算法,使用方法,示例程序等。

2)方法注释

以明确该方法功能,各参数含义以及返回值等。

3)其他注释

应对重要的变量及不易理解的分支条件表达式加以注释,以说明其含义等。

四 命名规范

1:对变量,类,接口及包的命名应该使用英文或者是汉语首字母。更不可以使用汉字来进行命名。采用大小写混合,提高名字的可读性。一般应该采用小写字母,但时类和接口的名称的首字母,以及任何中间单词的首字母应该大写。包名全部小写。

2:尽量少用缩写,但如果一定要用,当使用公共缩写和习惯缩写等,如implement可缩为impl,manager可缩写成mgr等。

3:包名一般以项目或模块名命名,少用缩写和长名,一律小写。包名按照如下规定组成[基本包].[项目名].[模块名].[子模块名].…. 如:org.skyinn.skyhome.dao.hibernate。 不得将类直接定义在基本包下,所有项目中的类,接口等都当定义在各自的项目和模块包中。

4:类,接口

所有单词首字母大写,最好能够见名知意。一般采用名词或者是汉语首字母。或able,dao,dto,bean后缀。

5:字段

常量采用完整的英文大写单词,单词之间用下划线连接,如DEFAULT_VALUE.

6:变量和参数对不易识别出该变量类型的变量应使用类型缩写作其前缀,如字符串使用strXXX,boolean使用isXXX,hasXXX等等。除第一个单词外其余单词的首字母大写。

7:集合

采用复数名称来表示队列中存放的对象类型,名词采用完整的英文描述。例如:Vector vProducts= new Vector(); Array aryUsers= new Array();

8:方法

方法的名称应采用完整的英文描述,大小写混合使用:所有中间单词的第一个字母大写。方法名称的第一个单词常常采用一个强烈动作色彩的动词。取值类使用get前缀,设置类使set

前缀。例如getName(),setSarry()。

9:异常类名由表示该异常类型的单词和Exception组成,如ActionException。异常实例一般使用e,ex等。

10:数组的命名

数组应该总是用下面的方式来命名:byte[] buffer; 而不是:byte buffer[];

关于hbh项目的特殊规定:

一.controller层规范:

1.在controller层中查询类接口全部以quary*开头。查询本地使用quaryList。查询中登quaryZdList。

2. 在controller层提交类接口全部以to*开头。查询本地使用toZzh。

3. url地址一般是以方法名称。如果有特殊情况。与本规范作者沟通。并且添加到此规范中。

java开发规范的更多相关文章

  1. 阿里Java开发规范&谷歌Java开发规范&华为Java开发规范&Tab键和空格比较&Eclipse的Tab键设置 总结

    现在收集到如下有用的信息: 阿里巴巴公开的Java开发规范:https://yq.aliyun.com/articles/69327?utm_content=m_10088 google公开的Java ...

  2. eclipse安装阿里巴巴java开发规范插件

    阿里巴巴java开发规范插件 作为JAVA开发人员,始终没有一个明确的规范,何为好代码,何为坏代码,造成不同人的代码风格不同,接手别人代码后改造起来相当困难.前不久,阿里巴巴发布了<阿里巴巴Ja ...

  3. myeclipse 阿里巴巴java开发规范

    今天发现阿里巴巴搞了个java开发规范,然后火了: 然后发现我也整了一下: 阿里巴巴java开发规范宣传页: http://mp.weixin.qq.com/s/IbibsXlWHlM59kfXJqR ...

  4. 阿里巴巴Java开发规范手册

      Java开发手册 版本号 制定团队 更新日期 备  注 1.0.0 阿里巴巴集团技术部 2016.12.7 首次向Java业界公开 一.编程规约 (一) 命名规约 1.   [强制]所有编程相关命 ...

  5. 阿里java开发规范学习(附P3C IDEA插件 帮助规范的养成)

    浅析 阿里巴巴 Java 开发规约 (未完成) 更加优秀的页面展现请到浅析 阿里巴巴 Java 开发规约 contents 为什么要学 编程规约 P3C IDEA 插件 why-use 我们知道,一般 ...

  6. 阿里Java开发规范记录(一)

      近日,从网上下载了阿里云栖社区发布的<阿里巴巴Java开发手册(正式版)>v1.1.0版.从编程以来,一直苦于没有相关的.全面的.靠谱的规范可以参考,有了这手册,日后编程也算是找到了依 ...

  7. 我的java开发规范

    关于文件的命名参考阮一峰的这篇文章:http://www.ruanyifeng.com/blog/2017/02/filename-should-be-lowercase.html,文中说文件名全部使 ...

  8. Google的Java开发规范

    长期以来,Google一直有针对各种语言的规范,例如C++, Python等等.惟独对于Java语言,Google一直没有给出相应的规范(传说中是因为Google Java首席构架师Joshua Bl ...

  9. java开发规范学习

    from 慕课网-明明如月-<阿里巴巴的Java开发手册> Integer缓存问题分析 1, Integer缓存[-128, 127]的数字,除此之外,将通过new创建. Long也是缓存 ...

随机推荐

  1. Apache-Tika解析JPEG文档

    通常在使用爬虫时,爬取到网上的文章都是各式各样的格式处理起来比较麻烦,这里我们使用Apache-Tika来处理JPEG格式的图片,如下: package com.mengyao.tika.app; i ...

  2. Selenium终极自动化测试环境搭建(二)Selenium+Eclipse+Python

    Selenium终极自动化测试环境搭建(二)Selenium+Eclipse+Python 前面举例了Selenium+Eclipse+Junit+TestNG自动化测试环境的搭建,在前一篇的基础上, ...

  3. mybatis logback打印sql

    <?xml version="1.0" encoding="UTF-8" ?><configuration> <contextNa ...

  4. nginx 配置 开发

    1 .安装: 2.修改配置文件nginx.conf 添加server:

  5. Android中监听ScrollView滑动停止和滑动到底部

    1.监听ScrollView滑动停止: /********************监听ScrollView滑动停止*****************************/ scrollView.s ...

  6. Firemonkey的旁门左道[四]

    做开发,就是发现问题,解决问题,又发现问题...周而复始的循环 下面又应该是Firemonkey下的bug. 官方文档中描述: Using the FireMonkey TMenuBar's OSMe ...

  7. Qt 学习之路:视图选择 (QItemSelectionModel)

    选择是视图中常用的一个操作.在列表.树或者表格中,通过鼠标点击可以选中某一项,被选中项会变成高亮或者反色.在 Qt 中,选择也是使用了一种模型.在 model/view 架构中,这种选择模型提供了一种 ...

  8. 基于 Quartz 开发企业级任务调度应用--转

    Quartz 基本概念及原理 Quartz Scheduler 开源框架 Quartz 是 OpenSymphony 开源组织在任务调度领域的一个开源项目,完全基于 Java 实现.该项目于 2009 ...

  9. windows服务安装(System.ComponentModel.Win32Exception:远程过程调用失败)

    “安装”阶段发生异常.System.ComponentModel.Win32Exception:远程过程调用失败 附上提示信息C:\Windows\Microsoft.NET\Framework\v4 ...

  10. call()与apply()区别

    一.方法的定义 call方法: 语法:call(thisObj,Object)定义:调用一个对象的一个方法,以另一个对象替换当前对象.说明:call 方法可以用来代替另一个对象调用一个方法.call ...