.net下分層架構系統的開發技術規範(1) (轉)
do.NET專案組編碼規範
Bill_Fang
2004-3-15
要開發出專業化的軟體產品,在編碼階段,必須嚴格貫徹一定的程式碼開發準則,這會減少程式的隱含錯誤,同時使程式的內部結構清晰。從而開發出少錯誤、易維護的優質程式,使得程式的團隊合作性和專業化程度大為提高。這是軟體開發中公認的一個準則,也是軟體工程在編碼階段的一個具體的應用。
一. 程式程式碼的註釋
1. 儲存過程的頭部註釋
每一個儲存過程都要寫註釋,寫在最前面。如
/*
Author: Bill
Create Time: 2003-06-16 17:04
Last Modify Time: 2003-06-16 17:13
Version: 1.0.01
Action describe:
Memo:
*/
2. 儲存過程的程式碼內部註釋
儲存過程的內部需要視情況新增註釋,簡單說明其功能、設計思想、演算法等等。如:
/* SET NOCOUNT ON */
3. CS檔案的頭部註釋
每一個.CS檔案都要寫註釋,寫在CS檔案的最前面。如
/*
File Name(檔名): ClientServiceS.cs
Storage Path(儲存路徑): Capitalnet_MISEntityDAO
Author(作者): Bill
Create Time(建立日期及時間): 2003-06-16 17:04
Last Modify Time(最後修改日期及時間): 2003-06-16 17:13
File Version(本檔案版本號):X.X.XXX 1.0.01
File Action describe(檔案功能描述): 客戶服務實體訪問層
File Memo(備註):
*/
4. 類的註釋
為你定義的類寫詳細的註釋,包括作者、時間、版本修訂資訊、基本的演算法,如:
///
/// 類的簡單描述
///
5. 類成員的註釋
每一個類的成員,如變數、屬性等都要加相應的註釋。
6. 方法的註釋
為你定義的每一個函式寫詳細的註釋,包括輸入輸出引數說明、返回值說明、函式功能說明:
///
/// 取得本帳期的帳單
///
/// 合同Guid
/// 本帳期日期
///
public static ContractPaidListData CalculateThisPaid(string contractGuid,DateTime date)
{ }
7. 程式碼內部的註釋
關鍵程式碼必須加註釋,簡單說明其功能、設計思想、演算法等等。長條註釋(劃分功能模組)、短條註釋(說明實現的各步驟)與句後解釋(說明重要句的意義)相結合,清晰功能的實現層次。如:
// Draw the string as normal and let then transforms do the work
/*
This is a test
*/
1) 一般來講,按需要來註釋,簡明扼要。
2) 修改程式碼的註釋,當有第二人開始修改程式碼時,應在每一次修改的程式碼部分加以註釋,必須包括修改人,修改時間,還可以包括修改目的等。
8. 其他要點
1) 對上述較長者在範圍結束處加註釋。如//for 迴圈結束 。
2) 註釋必須簡明扼要,規範易懂。
二. 物件的可訪問性設計
1) 不要隨意定義類的public,這在基於元件的開發中相當重要。
2) 只有被其他類引用的函式才定義成public型函式。
3) 類中最好不用public型成員變數(一般使用屬性來代替)。
4) 最好不使用全域性變數。可以使用一些代替的方法。
三. 物件的命名規範
1. 命名要求
1) 所有命名(類、函式、變數..)均要求意義明確易於理解。
2) 避免在程式碼中直接使用數字等不確定意義的詞,儘量使用有意義的串值代替。
例子:Protected Const string CAPTION_TITLE= "Bind Data to a ComboBox"
3) 在名字上區分各種變數及函式。
2. 命名約定
1) 常量命名規則。一般用大寫具有意義的複合單詞來定義。
protected Const string CAPTION_TITLE= "Bind Data to a ComboBox"
2) 欄位(變數),開頭將一小寫字母開頭,後面的具有意義的英語單詞開始於大寫。
public string strName等
3) 屬性,一般用大寫字母開頭,要具有一定的意義。
Name;
4) 類名, 以大寫字母開頭的有意義的複合英語單詞。對類名的定義還要考慮到該類的意義。
比如我們在專案中分了商務規則層、資料層、商務介面層、資料訪問層等。我在下面給出一個Agent表在各層中進行處理的時候相關的類的命名:
AgentData--àAgentS--àAgentR--àAgentF(分別是:資料實體、資料訪問層、商務規則層、商務介面層的命名)
5) 控制元件的命名規則,控制元件的命名可以以控制元件的縮寫開頭(小寫),配以一定意義的英文單詞;儘量讓縮寫可以理解。遇到新的控制元件可以大家討論來制定。
比如:
Button:btnUpate
DropDownList: ddlstCity
Label: lblName
DataGrid : grdAgent
DataList : dlstAgent
TextBox : txtName
(等等)
6) 檔名字的命名,以大寫字母開頭。DataAccess.cs
四. 資料表的定義和功能描述
1) 基礎表的定義
基礎表是指與業務無直接關係,僅為業務實現提供基礎資料的資料庫表。這類表有國家(Country)、貨幣(Currency)、單位(Company)、聯絡人(Contact)、產品(Product)、銀行(Bank)等等。
2) 基礎表提供的維護功能
對這些基礎表要提供新增、修改、刪除、檢視等等維護功能。在這些功能中,檢視功能是很重要的,要給出多個條件的檢視功能的方法,以便別的功能模組的檢視和引用的需要。
3) 業務表的定義
業務表則是指與業務直接相關,用以儲存各項業務資料、實現各項業務功能的資料庫表,這類表有合同(Contract)、專案(Project)、機會(Opportunity)、合同費用(ContractPaidList)等等。
4) 業務表提供的維護功能
對這些業務表要提供新增、修改、刪除、檢視等等維護功能。因為這些資料與業務息息相關,故要能給出多種查詢的方法。這些業務會涉及到大量的業務邏輯,故需使用業務邏輯層對業務表中的資料進行處理。
(未完待續)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10794571/viewspace-974801/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- .Net微服務實戰之技術架構分層篇微服務架構
- 智慧園區管理系統開發技術架構架構
- 高可用系列文章之二 - 傳統分層架構技術方案架構
- java底層鏈遊系統開發技術功能(成熟技術)Java
- docker架構和底層技術Docker架構
- [技術日誌] 從零開始微服務架構 (1) 傳統架構的缺點微服務架構
- 微服務架構下程式碼管理規範微服務架構
- 數商雲:「技術層面」剖析B2B供應鏈系統技術架構的部署方案架構
- 阿里Java架構師背後的技術體系支撐(詳細分層,建議收藏)阿里Java架構
- 分投趣Fintoch系統智慧合約開發技術丨分投趣Fintoch技術開發示例
- 千億級數量下日誌分析系統的技術架構選型架構
- .Net Core後端架構實戰【1-專案分層框架設計】後端架構框架
- 九層天塔DApp合約開發系統搭建技術APP
- 區塊鏈baas底層系統平臺技術開發區塊鏈
- SQL Server底層架構技術對比SQLServer架構
- 分投趣(Fintoch)開發丨分投趣原始碼系統技術開發丨Solidity技術語言原始碼Solid
- Helm 架構 - 每天5分鐘玩轉 Docker 容器技術(161)架構Docker
- 本週預告:資深架構師解讀多架構體系下的核心與系統開發等技術演講 | 第47-48期架構
- [Java分散式架構實戰]Java+MySQL開發規範Java分散式架構MySql
- 開發規範(轉載自大牛)
- 技術架構分享:美團配送系統架構演進實踐架構
- 基於.NET+ Oracle三層架構的醫院LIS系統原始碼Oracle架構原始碼
- 系統開發中的B/S架構架構
- Disrupt DEX質押分紅系統開發技術方案
- 分投趣借貸模式開發系統搭建技術模式
- PRT質押分紅系統開發模式技術搭建模式
- 分投趣(Fintoch)系統技術開發細節分析
- 【細品架構10/100】架構由術至道的轉變(1)架構
- 揭祕阿里Java架構師背後的技術體系支撐(詳細分層,建議收藏)阿里Java架構
- 深度解析:分投趣fintoch模式系統開發技術(成熟合約技術)模式
- 分層架構和SOA架構
- 微服務架構解析:跨越傳統架構的技術革命微服務架構
- 連載 4 - 如何看待微服務架構下的分層微服務架構
- 一起玩轉微服務(5)——分層架構微服務架構
- 九層天塔技術開發丨原始碼丨九層天塔系統開發詳情分析原始碼
- Java架構師面試題全集:Java基礎+技術框架+系統架構+分散式系統Java架構面試題框架分散式
- 數字藏品平臺開發數字藏品系統開發技術架構分析架構
- ModStart開發者文件-系統架構架構
- 紅蟻旅遊(分紅)系統開發技術(詳情)