




已閱讀5頁,還剩6頁未讀, 繼續免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
寶橋科技C#編程規范寶橋科技編程規范Version 225一、本規范版本變化1二、概述1三、版本號命名規則1四、命名規范1五、代碼外觀3六、程序注釋4七、控件命名規則5八、界面設計規范6九、數據庫命名規則(暫定)6十、附錄9一、 本規范版本變化Version 129 yux 完成Version 130 增加了數據庫命名規則、界面設計規范。Version 205 數據庫部分細節改動。Version 225 按鈕命名細節改動。二、 概述規范制定原則1 方便代碼的交流和維護。2 不影響編碼的效率,不與大眾習慣沖突。3 使代碼更美觀、閱讀更方便。4 使代碼的邏輯更清晰、更易于理解。術語定義Pascal 大小寫將標識符的首字母和后面連接的每個單詞的首字母都大寫??梢詫θ址蚋嘧址臉俗R符使用Pascal 大小寫。例如: BackColorcamel 大小寫標識符的首字母小寫,而每個后面連接的單詞的首字母都大寫。例如: backColor三、 版本號命名規則版本號分為4段,前兩段為主版本號和輔版本號,定義了軟件的版本。第3段為設定版本時的年份,2009年及以前為一位數字,2010年以后為兩位數字。第4段為設定版本時的日期,用4位數字表示,如0129表示1月29日如129,含義為版本1.0,2009-1-29最終發布。四、 命名規范1、 命名規則命名時盡可能使用英文的全稱,尤其是類名和接口名。命名時盡可能不用下劃線,除非全部大寫。命名時少用s,如使用user而不要用users,集合除外。在面向對象的語言中,在類屬性的名稱中包含類名是多余的,如不應該使用Book.BookTitle。而是應該使用 Book.Title。布爾變量名應該包含 Is,這意味著 Yes/No 或 True/False 值,如 fileIsFound即使對于可能僅出現在幾個代碼行中的生存期很短的變量,仍然使用有意義的名稱。僅對于短循環索引使用單字母變量名,如 i 或 j?;蛘邔懬宄⑨尅?赡艿那闆r下,盡量不要使用原義數字或原義字符串,如 For i = 1 To 7。而是使用命名常數,如 For i = 1 To NUM_DAYS_IN_WEEK 以便于維護和理解。命名空間和類不能使用同樣的名字。例如,有一個類被命名為Debug后,就不要再使用Debug作為一個名稱空間名。在適當的地方,使用復合單詞命名派生的類。如ApplicationException 是從名為 Exception 的類派生的類。接口開始字母一定為大寫的I,而后跟隨Pascal方式的接口名,如 IPersistable。而IdentityStore也是合適的類名或其它名稱,因為并不會混淆。對于參數,不需要添加str或int等前綴后綴,而應該使用可以描述參數意義的名稱。例如:string Format(string format, args() As object)Public的字段用Pascal命名方式,而private,protect字段用camel命名。屬性的命名盡可能與對應的字段同名,用大小寫來區分。集合的命名時,盡可能使用復數。2、 大小寫規則基本原則:內部封裝起來的私有字段、參數、變量為camel命名方法,其它的為Pascal命名方法。常數使用全部大寫字母,單詞之間使用下劃線分隔。常用計算機通用單詞縮寫可寫成大寫,如IO,UI,TCP,CRM等。標識符大小寫示例常數全部大寫NUM_DAYS_IN_WEEK 可以使用下劃線分隔類PascalAppDomain枚舉類型PascalErrorLevel枚舉值PascalFatalError事件PascalValueChange接口PascalIDisposable 注意 總是以 I 前綴開始。方法PascalToString命名空間PascalSystem.Drawing屬性PascalBackColor公共字段PascalRedValue 注意 很少使用。屬性優于使用公共實例字段。只讀靜態字段PascalRedValue私有字段camelredValue參數cameltypeName方法內的變量camelbackColor3、 DotNet中的關鍵字盡可能不要用作變量名詳見附錄,雖然多數為的關鍵字,但考慮到.net框架的通用性,建議盡量不用。五、 代碼外觀1、 列寬代碼列寬控制在110字符左右,也就是大約屏幕的4/3寬。如果太長需要換行,則從第二行起向后縮進。如:string inserString = Insert Into TableName (username,password,email,sex,address)+ Values(張三,123546,123,男,體育路11號);2、 縮進 縮進應該是每行一個Tab(4個空格),按照VS2005環境的默認生成格式進行縮進。3、 空行空行是為了將邏輯上相關聯的代碼分塊,以便提高代碼的可閱讀性。在以下情況下使用兩個或更多空行1、接口和類的定義之間。2、枚舉和類的定義之間。3、類與類的定義之間。 在以下情況下使用一個空行1、 屬性與屬性之間、方法與方法之間。2、 屬性、方法、字段相互之間。3、 方法中變量聲明與語句之間。4、 方法中不同的邏輯塊之間。5、 方法中的返回語句與其他的語句之間。6、 注釋與它注釋的語句間不空行,但與其他的語句間空一行。4、 花括號 - 1、 左花括號 “” 放于關鍵字或方法名的下一行并與之對齊,同時與右花括號“”對齊。如 if (condition) 2、 if、while、do語句后一定要使用“”,即使“”號中為空或只有一條語句,除非不加“”能提高程序的可讀性。如 if (someValue = 1) someValue = 2; 5、 代碼塊在代碼中點擊右鍵插入代碼段Visual C#。(提示:大多數情況下,輸入關鍵字后按TAB鍵即可自動生成代碼,如try+TAB)與VS2005環境自動生成的代碼塊保持一致。6、 重構多使用VS2005開發環境提供的代碼重構功能:例如在類的某一個字段上點擊右鍵重構封裝字段。六、 程序注釋1、 原則 每一個文件,每一個類,每一個類的public方法必須填寫正確的注釋。 如果進行了修改,則在文件上方填寫相應的修改信息,并在代碼中注出修改的地方和修改的原因。如果修改的是其它人的模塊,則必須填寫修改人的標識。 修改代碼時,總是使代碼周圍的注釋保持最新。 避免雜亂的注釋,如一整行星號。而是應該使用空白將注釋同代碼分開。 避免在塊注釋的周圍加上印刷框。這樣看起來可能很漂亮,但是難于維護。 如果需要用注釋來解釋復雜的代碼節,請檢查此代碼以確定是否應該重寫它。盡一切可能不注釋難以理解的代碼,而應該重寫它。盡管一般不應該為了使代碼更簡單以便于人們使用而犧牲性能,但必須保持性能和可維護性之間的平衡。 在編寫代碼時就注釋,因為以后很可能沒有時間這樣做。另外,如果有機會復查已編寫的代碼,在今天看來很明顯的東西六周以后或許就不明顯了。 注釋代碼中不十分明顯的任何內容。 為了防止問題反復出現,對錯誤修復和解決方法代碼總是使用注釋,尤其是在團隊環境中。 對由循環和邏輯分支組成的代碼使用注釋,特別是循環邊界條件的說明。 2、 文件注釋commFile導入預定義好的commFile.snippet(參見附錄)。文件注釋應該放在using段之后類之前輸入commFile,按TAB鍵/* * Copyright (C) 寶橋科技版權所有 * * 創建標識:owne20090101 * * 文件功能描述:對此文件實現功能的描述 * * 修改標識:修改人日期 * 修改描述: * */3、 類注釋在類的上方輸入/,使用XML格式的文檔說明。例如 / / 根據進程名來判斷當前程序運行的個數 / public static class AppInstance 4、 方法注釋在方法的上方輸入/,使用XML格式的文檔說明。例如: / / 讀取INI文件中的值 / / INI文件中的段 / INI文件中的鍵值 / 返回字符串值,如果沒有此值返回空字符串 / / string s=INIClass.INIReadValue(DataBase,Server) / public string INIReadValue(string section, string key) 方法中的每一個參數及返回值則必須寫清楚用途,尤其是public的方法。比較難以使用或難于理解的方法,需要使用標簽來寫下一個簡單的使用范例。七、 控件命名規則命名方法:控件名簡寫+英文描述,英文描述首字母大寫Panel,Label等程序不操作的控件可以不命名,使用缺省名稱。下面是部分常用控件的縮寫:10控件名簡寫FormfrmButtonbtnCheckBoxchkTextBoxtxtLabellblListBoxlstListViewlstvComboBoxcmbDateTimePickerdtpCalendercldMonthCalendarmcldPictureBoxpicImageimgRadioButtonrdoTreeViewtvNumericUpDownupdnPanelpnlMenuStripmenuContextMenuStripcmenuDataSetdsDataGridViewdgvImageListimglstToolStriptsToolStripButtontsb八、 命名空間(NameSpace)命名規范及項目組織形式1、九、 界面設計規范1、 常用按鈕/快捷鍵命名按鈕中文名按鈕名快捷鍵增加(A)btnAddA修改(E)btnEditE刪除(D)btnDelD保存(S)btnSaveS取消(C)btnCancelC確定(O)btnOkO應用(Y)btnApplyY退出(X)btnExitX關閉(C)btnCloseC十、 數據庫命名規則(暫定)所有數據庫、表、字段、視圖、存儲過程等的標識命名,除了前綴外,全部遵守Pascal命名規則,而所有的前綴則全部小寫。禁止使用中文命名1、 數據庫(Database)的定義數據庫名稱 = 數據庫內容標識2、 表(Table)的定義命名應盡量反映存儲的數據內容,并且盡可能不使用復數。例如使用Product,而不是Products。如果表名與SQL關鍵字沖突,考慮加上Tbl后綴。例如:UserTbl,而不是User表名稱 = 表名前綴 + 表內容標識如ClientInfo相關聯的一系的表以ci作為前綴,即有表名:ciHistory,ciContact,ciBusiness3、 列/字段(Field)的定義列名稱命名采用英文單詞或縮寫,英文單詞只來自于具體業務定義,盡量表達清楚含義。例如:AddressIDPostalCode盡量避免使用拼音命名,如果不可避免,對于比較短的列名,采用拼音全寫,如果拼音列名比較復雜,可以采用首個字用全拼,其它字用首字母大寫表示。例如:寧波 Ningbo經營方式 JingYFS主鍵一般可以命名為+ID,如Product表的主鍵命名名ProductID。使用單數名稱,而不是復數名稱4、 視圖(View)的命名視圖的名稱 = v + 視圖內容標識如 :vUserTbl5、 觸發器名觸發類型InsertDeleteUpdate觸發標識idu觸發名= tr + 觸發標識 + 相應的表名如:triClient,trdClient。6、 變量名Pascal命名方式,如EmployeeName。7、 其它命名規則(暫定)內容前綴示例存儲過程 Store ProcedureprprDeleteTerminatedReps用戶函數FunctionfnfnGetPY其它如主鍵、索引等,暫不作要求8、 SQL語句的編寫規范(簡)數據庫中存儲過程和觸發器中涉及大量的SQL語句,對SQL語句的編寫規范如下:關鍵字大寫:在SQL語句的編寫中,凡是SQL語句的關鍵字一律大寫,如:SELECT、ORDER BY、 GROUP BY、 FROM、WHERE、 UPDATE、 INSERT INTO、 SET、 BEGIN、 END . 比較一下:SELECT ID,UserName FROM UserTbl WHERE ID=5 和 select ID,UserName from UserTbl where ID=5適當的縮進準確而精煉的注釋9、 常用字段命名這里的常用字段是指在建表時頻繁使用的表名或列名,下表對常用字段進行建議性定義,列名稱數據類型說明CreatedDatedatetime紀錄創建日期,一般使用GETDATE()自動生成ModifiedDatedatetime紀錄最后修改日期,首次使用GETDATE()DeletedDatedatetime記錄刪除(標記刪除)日期StartDatedatetime開始日期EndDatedatetime結束日期StartTimedatetime開始時間EndTimedatetime結束時間IDint使用ID而不是Id或id。一般為自增長主鍵列Codestring字符串類型的代碼,如PostCode,ProductCodeRowGuiduniqueidentifier唯一標識行的ROWGUIDCOL號,用于支持合并復制ParentIDint父IDStatusint狀態十一、 附錄1、 commFile.snippet Expansion 文件注釋 commFile 關于本文件的注釋說明 bqkj yux 20090129 owner 創建人 owne20090101 fileComment 文件功能描述 對此文件實現功能的描述 2、 DOTNET關鍵字列表AddHandlerAddressOfAliasAndAnsiAsAssemblyAutoBaseBooleanByRefByteByValCallCaseCatchCBoolCByteCcharCDateCDecCDblCharCintClassCLngCObjConstCshortCSngCStrCTypeDateDecimalD
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 綠色食品種植技術推廣合作
- 一次難忘的旅行記作文6篇范文
- 生活垃圾分類網點的收集、運輸與處理流程設計
- 新時代高校思政課育人功能的創新與實踐
- 我眼中的環保英雄形象寫人作文12篇
- 教育數字化背景下思政課教材建設的多維分析
- 科技行業產品種類統計表格
- 心靈的成長歷程寫人作文8篇范文
- 從水經注中看水文地理詞匯學習
- 超大城市養老服務高質量發展的需求視角研究
- T-HHES 010-2024 生產建設項目水土流失危害評估編制導則
- 2024浙江寧波華潤興光燃氣有限公司招聘4人筆試參考題庫附帶答案詳解
- 2025年天津中考語文作文題目分析與寫作范例
- 電力輸電線路施工安全培訓
- 應用型本科高校建設現狀的調研報告
- 單位保潔協議合同范本
- 高新技術產品貿易銷售合同
- 夫妻公正委托書
- 2025年重點高中自主招生考試數學試卷試題(含答案詳解)
- 排水管道工程施工方案(兩篇)
- 熱性驚厥的健康宣教
評論
0/150
提交評論