項目開發規範,數據庫設計規範

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

界面命名規範定義

一個業務一個文件夾 裏面放所以該業務的jsp界面。

n  查詢頁面

u  query.jsp

n  明細頁面

u  show.jsp 

n  錄入頁面

u  XX_input.jsp

n  新增

u  XX_add.jsp

n  修改

u  XX_update

n  刪除

大部分刪除基本上都要彈出提示,是否確定刪除。

界面字段顯示格式(非數據庫中存儲格式)

 

Ÿ   日期格式: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查詢就會更快。


 

發佈了28 篇原創文章 · 獲贊 41 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章