1.命名规范
定义这个规范的目的是让项目中所有的文档都看起来像一个人写的,增加可读性,减少项目组中因为换人而带来的损失。(这些规范并不是一定要绝对遵守,但是一定要让程序有良好的可读性)
1.1 namespace的命名
namespace的名字应该都是由一个大写字母开头的单词组成,若由多个单词组成,每个单词的首字母大写。
1.2 Class的命名
Class 的名字必须由大写字母开头而其他字母都小写的单词组成,
- 例如: class Raster;
1.3 局部变量的命名
变量的名字必须用一个小写字母开头。后面的单词用大写字母开头。
1.4 Static 变量的命名
Static 变量的名字应该都大写,并且指出完整含义。
1.5 参数的命名
参数的名字必须和变量的命名规范一致。
1.6 数组的命名
数组应该总是用下面的方式来命名:
byte[] buffer; |
而不是:
byte buffer[]; |
1.7 代码注释
类头部注释
1.用文字说明代码的作用,并正确指出该代码的编写思路和逻辑方法;
1. 在每个类的开始赋予一个注释标头;
可参考:(至少需要这几项,Description:描述该类功能,作者,时间。)
/**
* Description: 用户管理
* @Author: wjl
* @Create Date: 2015-8-17下午4:06:14
*/
在更改该类重要的内容时,可在里面添加内容。
方法头部注释
/**
* 跳转到添加用户页面
* @return
*/
接口头部注释
/**
* Description:
* param:
* return:
* @Author: wjl
* @Create Date: 2015-8-13下午5:04:34
*/
实体属性头部注释
/**
* 用户名字
*/
1.8 功能点方法规范定义
n 初始化
u XX_init
n 查询
u XX_query/XX_search
n 授权
u XX_auth
n 拒绝
u XX_reject
n 明细
u XX_info
n 录入
u XX_input
n 新增
u XX_add
n 修改
u XX_update
n 删除
u XX_del
v 界面命名规范定义
一个业务一个文件夹 里面放所以该业务的jsp界面。
n 查询页面
u query.jsp
n 明细页面
u show.jsp
n 录入页面
u XX_input.jsp
n 新增
u XX_add.jsp
n 修改
u XX_update
n 删除
大部分删除基本上都要弹出提示,是否确定删除。
v 界面字段显示格式(非数据库中存储格式)
Ÿ 日期格式:2013-06-28
Ÿ 时间格式:2013-06-28 15:31:00
Ÿ 金额:999,999,999,999.00,整数时显示小数点和小数值
Ÿ 数字:XXX,XXX(显示千分位)
2. 数据库设计规范
2.1数据库
采用26个英文字母(区分大小写)和0-9这十个自然数,加上下划线'_'组成,共63个字符.不能出现其他字符(注 释除外).
注意事项:
1) 以上命名都不得超过30个字符的系统限制.变量名的长度限制为29(不包括标识字符@).
2) 数据 对象、变量的命名都采用英文字符,禁止使用中文命名.绝对不要在对象名的字符之间留空格.
3) 小心保留词,要保证你的字段名没有和保留词、数据 库系统或者常用访问方法冲突
5) 保持字段名和类型的一致性,在命名字段并为其指定数据类型的时候一定要保证一致性.假如数据类型在一个表里是整 数,那在另一个表里可就别变成字符型了.
2.2数据库命名规范
数据库,数据表一律使用前缀
正式数 据库名使用小写英文以及下划线组成,尽量说明是那个应用或者系统在使用的.比如:
web_19floor_net
web_car
备 份数据库名使用正式库名加上备份时间组成,如:
web_19floor_net_20070403
web_car_20070403
2.3数据库表命名规范
遵循以上数据库实体命名规则。
典型的字段的取名:(以操作员信息Staff为例)
内码Staff_Id
名称Staff_Name
编号Staff_Code
备注字段名Remark
表与表之间的相关联字段要用统一名称,
如 web_user 表 里面的 userId 和 web_group 表里面的 userId 相对应。(或者可以加个表名前缀)
2.4字段类型规范
规则:用尽量少的存储空间来存 数一个字段的数据.
比如能用int的就不用char或者varchar
能用tinyint的就不用int
能用 varchar(20)的就不用varchar(255)
数字Number
对于编码字段,oracle一般用Number(5)或者Number(10),mysql 用int(11);
如果是金额,一般用Number(12,2); mysql用double(11,2)
特殊字段如:邮编Number(6)
datetime型
2.5数据库文档
在服务器svn上都有数据库设计文档, 更改了数据库里面的字段后,都要更新数据库文档。方便以后管理查询维护。
另外,在创建表的时候,要对该表中的所有字段进行注释说明,该字段的中文意思。
相关数据库的知识:
VARCHAR是变长存储,字段长度是数据库一种约束,定义合理的长度也可以让人容易理解字段的用途。
MYSQL中定义的长度如果小于255,字段长度用1个字节表示,如果超过255,字段的长度将固定用2个字节表示。ORACLE没有这样的问题。
字段定义的长度对索引也有较大影响,MYSQL数据库的索引存储的长度都是定义的长度,不是实际字符的长度,这是一个非常大的问题,估计主要原因是为了实现简单,所以MYSQL在索引上会浪费大量的空间保存字符串。
nvarchar 和 varchar 的区别是存储方式不同
varchar是按字节存储的.而带 "n "的nvarchar是按字符存储的,使用Unicode来存储数据
比如说 varchar(40),能存储40个字节长度的字符,存储中文字符的时候,因为中文字符1个字符就等于2个字节.所以varchar(40)只能存储20个中文字符.
nvarchar(40),就可以存储40个中文字符,也就是说可以存储80个字节长度的字符
将字段设置为not null 还出于另外一种考虑:mysql表的列中包含null的话,那么该列不会包含在所有中。也就是使用索引是无效的。所有,考虑今后会使用索引的字段,就要设置字段属性是not null。
考虑到这个字段今后会作为查询关键字使用like的形式进行搜索。那么要将该字段定义成索引。这样使用like查询就会更快。