项目开发规范,数据库设计规范
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
*/
实体属性头部凝视
/**
* username字
*/
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数据库文档
在serversvn上都有数据库设计文档, 更改了数据库里面的字段后,都要更新数据库文档。方便以后管理查询维护。
另外,在创建表的时候,要对该表中的全部字段进行凝视说明。该字段的中文意思。
相关数据库的知识:
VARCHAR是变长存储,字段长度是数据库一种约束,定义合理的长度也能够让人easy理解字段的用途。
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。
考虑到这个字段今后会作为查询keyword使用like的形式进行搜索。那么要将该字段定义成索引。这样使用like查询就会更快。