專案規範筆記

windCatcher發表於2019-03-18

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(顯示千分位)

  1. 資料庫設計規範 2.1資料庫 採用26個英文字母(區分大寫和小寫)和0-9這十個自然數,加上下劃線'_'組成,共63個字元.不能出現其它字元(注 釋除外). 注意事項:
  1. 以上命名都不得超過30個字元的系統限制.變數名的長度限制為29(不包含標識字元@).
  2. 資料 物件、變數的命名都採用英文字元,禁止使用中文命名.絕對不要在物件名的字元之間留空格.
  3. 小心保留詞,要保證你的欄位名沒有和保留詞、資料 庫系統或者經常使用訪問方法衝突
  4. 保持欄位名和型別的一致性,在命名欄位併為其指定資料型別的時候一定要保證一致性.假如資料型別在一個表裡是整 數,那在還有一個表裡可就別變成字元型了.

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查詢就會更快。

相關文章