C 書寫規範 2

2022-02-03 16:44:08 字數 2346 閱讀 2591

(網上整理,感謝原作者)

三、資料庫設計規範

(一)**分類與命名

1.資料表的分類

系統表    支撐業務模型的資料表,如流程模型、系統管理相關表。

業務表    產品提供的針對業務的通用功能模組相關表,如通用業務查詢等。

使用者表    使用者二次開發使用的與具體業務相關的資料表。

2.資料表的命名

所有**命名一律以字母「t」開頭(table),並且用實義單詞以下劃線「_」間隔。

系統表    系統表字首為:tsys_

業務表字首為:tbiz_

使用者表由使用者自行定義,但是建議不要與系統表和業務表的命名規則重複。

欄位的命名

欄位的命名規則參照**識別符號的命名規則,但是注意避開資料庫的保留字。比如不要採用這樣的欄位名:index,field,password,id,oracle,sql等等。

對於涉及到技術核心的系統表,為了防止剖析,建議採用類似「f1,f2,f3……fn」的方式命名。但是不要採用「f0」,因為這個名稱在某些資料庫中不被允許,比如interbase。

3.索引的建立

索引是一把雙刃劍,索引將提高查詢的效率,但是卻降低了insert/delete/update 的效率。

通常情況下,對資料的編輯頻度和時限要求遠遠低於對資料庫的查詢要求,因此對於記錄很多且頻繁查詢的資料表,必須建立索引。

大多數資料庫為主鍵欄位自動建立索引,注意為外來鍵建立索引。

不要索引大字段,這樣作會讓索引占用太多的儲存空間。

盡量不要索引頻繁編輯的小型表。

identify欄位不要作為表的主鍵與其它表關聯,這將會影響到該錶的資料遷移。如果考慮支援多資料庫,建議主鍵採用程式生成的唯一值。

如果乙個大型表需要頻繁的做insert/delete/update操作,同時也需要做高併發量的查詢,那麼建議根據資料的訪問頻度對錶作拆分,而後建立索引。

4.過程與函式

資料庫廠商為了凸現自身的優勢,都提供了豐富且個性化的過程與函式。

字段/域的定義

盡量避免使用blob,如果一定要用,請不要索引blob,並且不要定義多個blob。

不要使用日期字段,改用字串char(19)替代,如:2008-12-09 12:22:08。

對於確定長度的串,請固定字段型別的長度,如char(80),不要採用varchar。

對於值型別字段,請使用對應的資料庫值型別,而不要用字串。

四、com和.net互操作規範

.net 技術已經成為微軟平台的主流,但是在win32時代開發了很多com、dcom元件,由於在開發com元件時投入了大量的人力、財力,如何在.net環境下重用這些com元件就顯得更有意義。

.net支援執行時通過com、com+、本地winapi呼叫與未託管**的雙向互操作性,要實現互操作性,必須首先引入.net framework的 system.runtime.interopservices命名空間。

c#的語法為:

using system.runtime.interopservices;

(1).net訪問api

.net允許c#訪問未託管的dll的函式。如要呼叫windows user32.dll的messagebox函式:

int messagebox(hwnd hwnd,lpctstr lptext, lpctstr lpcaption,uint utype)

可以宣告乙個具有dllimport屬性的static extern方法:

using system.runtime.interopservices;

[dllimport(「user32.dll」)]

static ertern int messagebox(int hwnd,string text,string caption,int type);

然後在**裡面直接呼叫就可以了。這裡要注意在呼叫返回字串的api中使用stringbuilder物件。

(2).net訪問com元件

從.net呼叫com元件比較容易,只要使用tlbimp.exe產生com的裝配形式的warpclass,然後在.net專案中呼叫即可。

注意com的型別資訊通過type library檔案描述,.net裝配件是自描述的。tlbimp的作用是從com元件及其型別資訊中產生自描述的裝配件。

1.編寫com元件

編譯生成乙個comaccount.dll。

2. 產生.net可訪問的包裝類(assembly),使用tlbimp.exe產生.net裝配件。

tlbimp /out:netaccount.dll comaccount.dll

3.在.net**中訪問

.net**只需引用netaccount.dll,就可以像訪問.net的裝配件一樣訪問com元件

C 書寫規範 3

網上整理,感謝原作者 五 異常處理 異常處理的原則 在應用程式級 執行緒級 錯誤處理器中處理所有的一般異常。遇到 意外的一般性錯誤 時,此刻錯誤處理器應該捕捉異常,給使用者提示訊息,在應用程式關閉或使用者選擇 忽略並繼續 之前記錄錯誤資訊。不必每個方法都用try catch,當特定的異常可能發生時才...

CSS 書寫規範

本文是參考了css森林中的規範,並結合之前幾個專案積累所書寫的乙個基本規範。不敢說是原創,所以鄭重感謝一下css森林。同時,本文件也處於持續改進中。1.基本 css檔案中,選擇器書寫按照 標籤 標籤偽類 id 類 覆蓋 排序,同一型別寫在一起 進行覆蓋時,也按照這樣乙個順序。css定義中,屬性的書寫...

oracle sql書寫規範

一 書寫規範 1 sql編寫時,大小寫一致 2 關鍵字單佔一行,如select from where and group by order by等 3 注意行縮排和對齊,建議語句中的關鍵字右對齊 4 使用空格,sql語句內的算術運算子 邏輯運算子 and or not 比較運算子 between a...