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. 使用drawRect有什么影响

    用来画图,这个方法会在intiWithRect时候调用.这个方法的影响在于有touch event的时候之后,会重新绘制,很多这样的按钮的话就会比较影响效率.以下都会被调用1.如果在UIView初始化 ...

  2. iOS中UITableView的cell点击事件不触发didSelectRowAtIndexPath(汇总)

    iOS中UITableView的cell点击事件不触发didSelectRowAtIndexPath 首先分析有几种原因,以及相应的解决方法 1.UITableViewCell的userInterac ...

  3. Unity3D 画线插件 Vectrosity_Simple2DLine

    Vectrosity是一个很方便的画线插件,用它我们可以画出2D,3D,贝塞尔,圆,椭圆等各种线条图案. :链接: http://pan.baidu.com/s/1pJjTFjt 密码: uesn 首 ...

  4. 删除表中多余的重复记录(多个字段),只留有rowid最小的记录

    假如表Users,其中ID为自增长. ID,Name,Sex 1 张三,男 2 张三,男 3 李四,女 4 李四,女 5 王五,男 --查找出最小行号ID的重复记录 select Name,Sex,C ...

  5. Node.js【2】开发环境搭建(Windows、Linux&amp;Mac)

    安装方式有非常多种,以下仅仅是我喜欢的一种方式,安装的路径不一定要跟我一样. 眼下最新的版本号是v0.10.28 Windows 1.下载(放到E:\node\nodejs): http://node ...

  6. css中var函数

    引言: 在学习elementui的时候看到一个var.css, 其中写的全部都是以--开头的属性,上google查询不是css3新增的属性,于是决定一探究竟 :root { /* Transition ...

  7. java之迭代器

    迭代这个名词对于熟悉Java的人来说绝对不陌生.我们常常使用JDK提供的迭代接口进行java collection的遍历: Iterator it = list.iterator();while(it ...

  8. jquery对同级的td做radio限制

    <html> <head> <title></title> <script src="http://libs.baidu.com/jqu ...

  9. updatepanel的属性

    updatepanel的属性 1.childrenastriggers:内容模板内的子控件的回发是否更新本模板(和updatemode的conditional有关) 2.updatemode:内容模板 ...

  10. 黑马程序员-ReadInt

    判断输入的字符串是否为数字. namespace 读入一个整数 { class Program { static void Main(string[] args) { Console.WriteLin ...