Java项目开发规范参考 - KevinLee的博客 - 博客频道 - CSDN.NET
http://blog.csdn.net/u011383131/article/details/51227860

1. 目的

为了使软件开发过程顺畅,保证软件质量,于是有了这份开发规范文档。

2. 概述

  • 项目以功能模块来划分分工
  • 数据库不能随意修改,本地数据库须统一
  • 有标准的Java代码风格,有良好习惯
  • 时刻考虑代码的可复用性
  • 每个人需要有每周项目进度报告

3. 代码规范

3.1 有关命名

尽量保证能够通过变量名得知变量的含义

3.1.1 包命名

  • 包命名采用全小写命名
  • 通过唯一域名+组件来命名

3.1.2 类命名

  • 类命名采用Pascal命名法
  • 大写字母开头,各个单词首字母大写

3.1.3 方法命名

  • 方法命名采用Camel命名法
  • 小写字母开头,各个单词首字母大写
  • 属性的getter和setter方法尽量使用自动生成,并放在程序的后面。
  • Boolean类型的属性的get方法应形如isProperty()

3.1.4 变量命名

  • 采用Camel命名法
  • 小写字母开头,各个单词首字母大写
  • 特有大写缩写词汇保持大写如:SQL
  • 变量名字不宜过长,可适当采用缩减英文元音字母来缩短长度
  • 假如缩短后名字重复,可以保留其中一个的部分元音字母

3.1.5 常量命名

  • 采用全大写命名法
    所有字母均大写

3.1.6 页面文件命名

  • 采用全小写命名法
  • 所有的字母均小写,单词之间以下划线’_’分隔
  • 展示页面,按照名词+描述,如:news_list.jsp
  • 操作页面,按照名词+动词命名,如:news_add.jsp
  • 按照模块从大到小命名,如:news_order_add.jsp

3.1.7 资源文件命名

  • 采用全小写命名法
  • 按照前缀+模块+描述+状态命名,如:btn_main_login_pressed.png
  • (不一定完全包含如上4个部分,但是要依照顺序命名)

3.2 有关注释

团队成员都应该形成良好的写注释的习惯,方便以后阅读,以及为了后期生成可读性良好的Java Doc

3.2.1 程序文件头注释

应该包含如下:
* 文件描述
* 作者
* 版本
* 创建日期时间
* 修改日期时间
* 参考信息

提前设置好文件的模板Template
如以下模板:

/**
* Description:
* Author: KevinLee
* Version: 1.0
* Create Date Time: ${DATE} ${TIME}.
* Update Date Time:
* @see
*/

3.2.2 方法头注释

一般在写完一个方法后使用快捷键生成一个块注释,IDE会自动帮我们写入一些信息。
应该包含如下信息:
* 方法描述 Description:

* 参数信息 @param
* 返回信息 @return
* 异常信息 @Exception
* 参考信息(可选)@see
also //指定一个类或者方法(通过类后面加#选择方法)
* 笔记信息(可选)Note:
如以下模板:

/**
* Description: 返回一个“Hello”字符串
* @param str 一个字符串
* @return 返回一个字符串
* @throws Exception 抛出一个异常
* @see com.lidengju.entity.Person
* Note: Nothing much.
*/
public String sayHello(String str) throws Exception{
str="Hello";
return str;
}

注意:方法里面不要使用块注释

3.2.3 关键点注释

应该包含如下信息:
* 一些程序关键的地方
* 一些程序不易读的地方
* 编写代码过程中遇到问题的地方
*
需要提示读者的地方

注释应该写得少而易懂
若修改了文件,可以加上修改人的信息,和修改日期。

4. 格式规范

4.1 缩进

应注意使用format来格式化代码,使用Tab键来缩进代码,相当于4个空格。

4.2 换行

  • {}花括号应该另起一行,左花括号与方法名、类名在同一行。(除了数组初始化时的花括号)
  • if、while等语句,假如体内只有一句代码也不要省略{},为了方便以后的增删
  • 字符串过长考虑拆分成多行

4.3 对齐

  • {}括号等应该对齐
  • 类和方法的块注释必须紧贴类和方法
  • 单独起行的//注释必须对齐被注释语句

5. 写在后面

希望各位成员遵守这份开发规范文档,养成良好的开发习惯

转:Java项目开发规范参考的更多相关文章

  1. JAVA 代码开发规范

    一.开发工具规范: 1. 开发工具经项目负责人调试后统一确定. 2. 开发工具一经确定不允许集成任何非统一插件,若有需要,经项目负责人同意后统一为 项目组成员添加. 3. 开发工具的编码格式不允许修改 ...

  2. 转:Laravel 项目开发规范

    文件介绍很好 值得细细看看 https://www.jianshu.com/p/e464a35e5ed2 https://learnku.com/docs/laravel-specification/ ...

  3. Java项目开发中实现分页的三种方式一篇包会

    前言   Java项目开发中经常要用到分页功能,现在普遍使用SpringBoot进行快速开发,而数据层主要整合SpringDataJPA和MyBatis两种框架,这两种框架都提供了相应的分页工具,使用 ...

  4. IDEA 学习笔记之 Java项目开发深入学习(2)

    Java项目开发深入学习(2): 查找变量被用到的地方 编译当前文件 增加变量watch 注意:我使用了keymap (eclipse模板),所以很多快捷键和eclipse一样. F5单步调试进入函数 ...

  5. IDEA 学习笔记之 Java项目开发深入学习(1)

    Java项目开发深入学习(1): 定义编译输出路径: 继承以上工程配置 重新定义新的项目编译路径 添加source目录:点击添加,再点击移除: 编译项目: 常用快捷键总结: Ctrl+Space 代码 ...

  6. IDEA 学习笔记之 Java项目开发

    Java项目开发: 新建模块: 添加JDK: 导入本地Jars: 从远程Maven仓库下载: 创建package: 新建类/接口/枚举等: 字体太小,改字体: Duplicate Scheme 修改编 ...

  7. 《Maven在Java项目开发中的应用》论文笔记(十七)

    标题:Maven在Java项目开发中的应用 一.基本信息 时间:2019 来源:山西农业大学 关键词:Maven:Java Web:仓库:开发人员:极限编程; 二.研究内容 1.Maven 基本原理概 ...

  8. 收藏基本Java项目开发的书

    一.Java项目开发全程实录 第1章 进销存管理系统(Swing+SQL Server2000实现) 第2章企业内部通信系统(Swing+JavaDB实现) 第3章 企业人事管理系统( Swing+H ...

  9. 规范——Java后端开发规范

    Java后端开发规范 一.技术栈规约 二.命名规范 三.Java代码规范(注释规范.异常与日志.代码逻辑规范) 四.Mybatis与SQL规范 五.结果检查(单元测试及代码扫描) 六.安全规范 一.技 ...

随机推荐

  1. text-overflow文本溢出隐藏“...”显示

    一.文本溢出省略号显示 1.文本溢出是否“...”显示属性:text-overflow:clip(不显示省略标记)/ellipsis(文本溢出时“...”显示) 定义此属性有四个必要条件:1)须有容器 ...

  2. HTTP协议相关原理

    HTTP 的全称是 Hyper Text Transfer Protocol,中文名叫做超文本传输协议 HTTP协议是用于从网络传输超文本数据到本地浏览器的传送协议,它能保证传送高效而准确地传送超文本 ...

  3. 微信小程序:多张图片上传

    最近在写小程序的相册,需要多张图片的上传.因为小程序不支持数组的多张图片同时上传,然后根据自己的需求+借鉴网上各位大神的案例,总算搞定.分享下,不足之处,多多指教哦 页面wxml: <form ...

  4. Mysql+Keepalived双主热备高可用操作记录

    我们通常说的双机热备是指两台机器都在运行,但并不是两台机器都同时在提供服务.当提供服务的一台出现故障的时候,另外一台会马上自动接管并且提供服务,而且切换的时间非常短.MySQL双主复制,即互为Mast ...

  5. python并发编程(并发与并行,同步和异步,阻塞与非阻塞)

    最近在学python的网络编程,学了socket通信,并利用socket实现了一个具有用户验证功能,可以上传下载文件.可以实现命令行功能,创建和删除文件夹,可以实现的断点续传等功能的FTP服务器.但在 ...

  6. JAVA核心技术I---JAVA基础知识(函数)

    一:自定义函数 由于JAVA中都是由类组成,所以想实现类似于函数的功能,直接使用main主函数进行调用,就需要使用静态类方法,直接调用,而不需要实例对象 public class HelloWorld ...

  7. python django基础五 ORM多表操作

    首先在创建表的时候看下分析一下 1.作者表和作者详细地址表  一对一关系 理论上谁都能当主表 把Author设置成主表 au=models.OneToOneField(to='AuthorDetail ...

  8. 开源图片文字识别引擎——Tesseract OCR

    Tessseract为一款开源.免费的OCR引擎,能够支持中文十分难得.虽然其识别效果不是很理想,但是对于要求不高的中小型项目来说,已经足够用了. 文字识别可应用于许多领域,如阅读.翻译.文献资料的检 ...

  9. initializer_list 列表初始化

    initializer_list 列表初始化 用花括号初始化器列表初始化一个对象,其中对应构造函数接受一个 std::initializer_list 参数. #include <iostrea ...

  10. Git与GitHub学习笔记(七)Windows 配置Github ssh key

    前言 SSH是建立在应用层和传输层基础上的安全协议,其目的是专为远程登录会话和其他网络服务提供安全性的保障,用过SSH远程登录的人都比较熟悉,可以认为SSH是一种安全的Shell.SSH登录是需要用户 ...