开发部项目编码规范说明

1.  格式与命名规范(Formating and Naming Conventions)

1.1    缩进

使用Tab缩进,而不是空格健

1.2    换行

单行字符不超过100字符,超出部分换行。

If 、for、while语句只有单句时,也需要用“{”和“}”括起来

1.3    命名规则

1、  尽量使用完整的英文描述符

2、  采用适用于相关领域的术语

3、  采用大小写混合使名字可读

4、  尽量少用缩写,确有需要的,要能表达其意义或采用前四个字母方式,且在整个工程中统一

5、  避免使用类似的名字,或者仅仅是大小写不同的名字

6、  命名时避免使用下划线(静态常量除外)

具体举例如下:

(package):采用完整的英文描述符,应该都是由小写字母组成。如:com.zqgame.项目名称.逻辑层名

(class):采用完整的英文描述符,所有单词的第一个字母大写。

实体类(entityclass):实体对象的全称

抽象类(abstractclass):以“Abstract”作为抽象类的开头。如:AbstractBeanFactory

测试类(testclass):  以“Test”做为类命名的结尾。如:ContainerTest

异常类(exceptionclass):以“Exception”做为类命名的结尾

控制器(controller): 以“Controller”结尾。如:UsersController

变量 :采用驼峰命名法。如:firstName

设置/获取成员变量:被访问字段名的前面加上前缀get/set。如:setFirstName()/getFirstName()

静态常量(static final):全部采用大写字母,单词之间用下划线分隔,例如:DEFAULT_DATE

循环计数器:通常采用字母i,j,k

页面控件命名示例:okBtn、nameLbl,其中btn、lbl缩写代表按钮(Button)、标签(Label)

遇到缩写如XML时,仅首字母大写,即loadXmlDocument()而不是loadXMLDocument()

页面请求

功能描述

HTTP Verb

Path

Controller

JSP/HTML/JS

各功能主页

GET

/photos

index

index

导航到新建页

GET

/photos/new

new

new

新建

POST

/photos

create

——

导航到详细页

GET

/photos/{id}

show

show

导航到修改页

GET

/photos/{id}/edit

edit

edit

修改

PUT

/photos/{id}

update

——

删除

DELETE

/photos/{id}

destroy

——

Ajax分页查询

POST

/photos/page

page / query***Page

——

Ajax不分页查询

POST

/photos/list

list / get***List

——

1.4    声明

修饰符应该按照如下顺序排列:public -> protected-> private -> abstract -> static -> final -> transient ->volatile -> synchronized -> native

1.5    类与接口的声明顺序

静态成员变量(static fields)à

静态初始化块(static initializers)à

成员变量(fields)à

初始化块(initializers)à

构造器(constructors)—>

静态成员方法(static methods)à

成员方法(methods)à

重载自object的方法如toString()、hashCode()和main方法à

类型(内部类/inner classes)

同等的类型,按publicàprotectedàprivate的顺序排列

2.  注释规范(Document Convertions)

良好的代码注释习惯对于团队每个成员来说,是其易于解读的关键。也就是说,如果另一个编程人员从未见过这段代码,要在合理的时间内理解代码,需要知道哪些信息。并以此作为注释的依据。因此对于注释来讲,需要注意以下几点:

1)、注释应该增加代码的清晰度

2)、保持注释的简洁

3)、在写代码之前写注释

4)、注释出为什么做了一些事,而不仅仅是做了什么

对于JavaDoc文档注释则使用“/**…….*/”,JavaDoc注释可以通过工具转换成HTML工具。注释可以模板生成。

2.1  文件注释

在每个代码文件的头部加入类似下面的文件注释,文件注释采用块注释。

/**

*

* 创建人:张三

*创建时间:2011/11/03

*功能描述:仓储公共接口

* 版本:1.0

* 版权拥有:------------------------------------

*

*=====================================================

*             修改记录

*=====================================================

*序号  姓名     日期     版本          简单描述

*=====================================================

* 1    李四  2011-11-04  1.01  因为某某原因而修改了某些功能

* 2    王五  2011-11-14  1.02  因为某某原因而修改了某些功能

*

*/

2.2 方法注释

方法注释采用块注释。

/**

*

*           方法功能描述

* @param    参数的描述

* @return   返回类型的描述

* @exception 出错信息的描述

* @author 方法的创建者

* @date 方法的创建时间

*/

2.3 单行注释

短注释可以显示在一行以内,并与其后的代码具有一样的缩进层级。如果一个注释不能在一行内写完,就该

采用块注释,单行注释之前应该有一个空行。如:

if (condition){

/*………………………….*/

Something…

}

2.4  行末注释

对于比较重要的变量加以注释,说明变量的含义。

int size;  //  Java

3.  日志打印格式

日志打印原则

1)  INFO配置信息

2)  INFO重要,比如订单信息,统计性信息

3)  ERROR 错误日志

4)  WARN 检查配置,系统环境有问题

5)  FATAL,系统退出

6)  分文件login_error,pay_error,xxx_error.log

7)  第三方接口调用,请求参数和返回参数详细记录,

格式:

操作名称 [结果]  [***请求参数***]  [***返回参数***] 各参数中间用逗号分隔

例:

INFO:game,200,5851607264418342251,3368035691,43002,宠物零食,1,1,0,17034357,MJ丶演绎星辰,OnUseItemEvent_43002

INFO:game,200,5851642123275486121,4270605225,43002,宠物零食,1,1,1,17034357,MJ丶演绎星辰,商店购买

4.  开发注意事项

4.1  代码布局

编写类、接口或方法的进候,应遵守以下格式规则:

Class Sampleextends Object  {   //左大括号“(”位于声明语句同行的末尾

int ivar1;

int ivar2;

Sample(int i,int j) { //方法名与其参数列表之间的左括号“(”不要有空格

this.ivar1 = i;

this.ivar2 = j;

void emptyMethod() {} //除非是一个空语句,“}”紧跟在“{”之后

}  // 右大括号“}”另起一行,与相应的声明语句来对齐,

4.2 代码重构的心态

时时都要在想着自已的代码是不是最优的,是否还有重构的可能性,如何重构,参考《重构---改善既有代码代码的设计》

4.3  第三方包管理

每个工程都要建立一份《第三方包/库列表》,该列表中包括有包/库的版本以及功能说明,开发过程中成员

如果需要引用到第三方包或DLL库,首先查看《第三方包/库列表》文档,是否存在有记录。如果文档中没

有,需要该文档中登记后再使用。包的版应指定一个专人来管理维护。

4.4 类的维护

类的原开发者写可以新增、修改、删除该类的方法,其他团队成员在开发中出现的新的需求功能需求,需要在某个类中添加或修改,需联系该类的开发者维护。这样可以保证代码的准确性。不要随便修改他人的代码。

4.5  SVN维护

开发中的代码是以服务器上(现在是192.168.70.200)的为准,每天必须要上传编译通过的代码,多提交SVN,勤提交SVN,但不能提交有问题的代码。代码提交要及时、准确。如果有依赖关系的代码,在代码提交后要告知小组相关的开发成员,以便他们能及时获取最新代码。

jdbc.maxPoolSize=50
jdbc.minPoolSize=2
jdbc.initialPoolSize=3
jdbc.acquireIncrement=5
jdbc.maxStatements=0
jdbc.maxStatementsPerConnection=100
jdbc.maxIdleTime=300
jdbc.checkoutTimeout=20000

--返回由备份集内包含的数据库和日志文件列表组成的结果集。
--主要获得逻辑文件名
USE master
RESTORE FILELISTONLY
   FROM DISK = 'g:\back.Bak' 
Go
************************************************
/*
利用bak恢复数据库,强制还原(REPLACE)
STATS = 10 每完成10%显示一条记录
DBTest和DBTest_log是上面g:\back.Bak里的逻辑文件
*/
USE master
RESTORE DATABASE DB 
   FROM DISK = 'g:\back.Bak'
   WITH MOVE 'DBTest' TO 'E:\Program Files\Microsoft SQL Server2005\Data\DB.mdf', 
   MOVE 'DBTest_log' TO 'E:\Program Files\Microsoft SQL Server2005\Data\DB_log.ldf',
STATS = 10, REPLACE
GO
++++++++++++++++++++++++++++++++

/*
备份数据DB 到.bak文件。然后利用此bak文件恢复一个新的数据库DBTest。
*/
USE master
BACKUP DATABASE DB 
  TO DISK = 'g:\DBBack0930.bak' 
RESTORE FILELISTONLY 
  FROM DISK = 'g:\DBBack0930.bak' 
RESTORE DATABASE DBTest 
  FROM DISK = 'g:\DBBack0930.bak' 
  WITH MOVE 'DBTest' TO 'E:\Program Files\Microsoft SQL Server2005\Data\DBTest.mdf', 
  MOVE 'DBTest_log' TO 'E:\Program Files\Microsoft SQL Server2005\Data\DBTest_log.ldf'
GO

---******************************

http://yiliu.web-176.com/index.html

开发部项目编码规范说明相关推荐

  1. 开发指南专题三:JEECG微云快速开发平台项目编码规范

    开发指南专题三:JEECG微云快速开发平台项目编码规范 4. 项目编码规范 4.1. 项目编码规范 1. 项目编码格式为UTF-8(包括:java,jsp,css,js) 2. sevice接口命名: ...

  2. boot返回码规范 spring_springboot项目编码规范

    1.统一返回消息体规范 /** * 用户信息接口 * @return */ @ApiOperation(value = "用户信息接口", notes = "用户信息接口 ...

  3. android项目编码规范,Android 项目规范

    Android 项目规范 本文档的目的是定义项目规范.这些应遵循整个 Android 项目以帮助我们保持整洁和统一的代码库.

  4. 用 pre-commit hook 解决 Python 项目编码规范

    本文参考了: Automate Python workflow using pre-commits: black and flake8 代码规范.测试是开发中很重要的一环,重要性无需我多说.我们需要一 ...

  5. 开发编码格式_编码和游戏开发

    开发编码格式 As a game enthusiast and a beginner programmer, I always wonder what it would be like to deve ...

  6. JavaScript代码规范

    类型 原始值: 相当于传值(JavaScript对象都提供了字面量),使用字面量创建对象. string number boolean null undefined var foo = 1,bar = ...

  7. 前端JavaScript规范

    摘要: JavaScript规范 目录 类型 对象 数组 字符串 函数 属性 变量 条件表达式和等号 块 注释 空白 逗号 分号 类型转换 命名约定 存取器 构造器 事件 模块 jQuery ES5 ...

  8. ygm900常用网站

    证书管理 苹果开源代码 http://www.opensource.apple.com/source/ iOS 开发者中心                                       ...

  9. 01-Popover跳转

    Popover跳转 1.1-简介 什么是Popover? UIViewController进行跳转的时候,可以设置跳转样式 Popover样式是iOS8加入的新特性 1.2-在StoryBoard中使 ...

最新文章

  1. Windows下phpStudy中的Apache无法启动的排查方法
  2. java断言assert初步使用:断言开启、断言使用
  3. 趣链 BitXHub跨链平台 (4)跨链网关“初介绍”
  4. (chap6 Http首部) 响应首部字段 Ct-MD5Ct-RangeCt-TypeExpiresLast-Modified
  5. python去除中文停用词_删除停止词Python
  6. 每日程序C语言9-判断分数段
  7. 将excel转为python的字典_python读取excel表并把数据转存为字典
  8. 丁磊:网易在元宇宙技术和规划上已经做好准备
  9. 这样的家居选购界面让你忍不住剁手的冲动!
  10. linux之cp强制复制文件
  11. Richard S. Sutton个人主页翻译
  12. <C语言>数据文件自动生成(多模块进阶)
  13. 设计模式之适配器与外观模式(二)
  14. 常见的几种IDEA使用技巧
  15. linux 登录qq虚拟机,不能输入中文
  16. 面试官没想到我对redis数据结构这么了解,直接给offer
  17. 修改计算机显示颜色16位色,教你win10怎么调成16位色
  18. 下载频道2013上半年超人气精华资源汇总---全都是免积分下载。 十分感谢这些免积分分享精华资源的好人!!...
  19. 第五章 资本主义发展的历史进程
  20. DASFAA 2023|创邻周研博士分享前沿图数据库观点

热门文章

  1. 当建立一个新的数据中心时,阿里云优惠活动位置只是战斗的一半
  2. 糖尿病遗传风险检测挑战赛-Coggle 30 Days of ML
  3. 基于ARDUINO汽车智能防碰撞控制系统设计(毕业设计)
  4. 视觉里程计:特征点法之ORB特征点
  5. 规模较大的四大计算机互联网络,我国的四大互联网络是什么?
  6. pomelo源码解析--新建项目(cli工具: pomelo)
  7. TEC-XP 汇编学习
  8. 计算机组成原理TEC-8,南信大 计算机组成原理实验TEC-8实验指导书.pdf
  9. android 9.0 添加自定义恢复出厂设置标识
  10. ccs用C语言进行printf时,DSP:CCS V6 TMS320F2812 使用printf函数