寶橋科技C#編程規(guī)范.doc_第1頁
寶橋科技C#編程規(guī)范.doc_第2頁
寶橋科技C#編程規(guī)范.doc_第3頁
寶橋科技C#編程規(guī)范.doc_第4頁
寶橋科技C#編程規(guī)范.doc_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

寶橋科技C#編程規(guī)范寶橋科技編程規(guī)范Version 225一、本規(guī)范版本變化1二、概述1三、版本號命名規(guī)則1四、命名規(guī)范1五、代碼外觀3六、程序注釋4七、控件命名規(guī)則5八、界面設(shè)計規(guī)范6九、數(shù)據(jù)庫命名規(guī)則(暫定)6十、附錄9一、 本規(guī)范版本變化Version 129 yux 完成Version 130 增加了數(shù)據(jù)庫命名規(guī)則、界面設(shè)計規(guī)范。Version 205 數(shù)據(jù)庫部分細節(jié)改動。Version 225 按鈕命名細節(jié)改動。二、 概述規(guī)范制定原則1 方便代碼的交流和維護。2 不影響編碼的效率,不與大眾習慣沖突。3 使代碼更美觀、閱讀更方便。4 使代碼的邏輯更清晰、更易于理解。術(shù)語定義Pascal 大小寫將標識符的首字母和后面連接的每個單詞的首字母都大寫??梢詫θ址蚋嘧址臉俗R符使用Pascal 大小寫。例如: BackColorcamel 大小寫標識符的首字母小寫,而每個后面連接的單詞的首字母都大寫。例如: backColor三、 版本號命名規(guī)則版本號分為4段,前兩段為主版本號和輔版本號,定義了軟件的版本。第3段為設(shè)定版本時的年份,2009年及以前為一位數(shù)字,2010年以后為兩位數(shù)字。第4段為設(shè)定版本時的日期,用4位數(shù)字表示,如0129表示1月29日如129,含義為版本1.0,2009-1-29最終發(fā)布。四、 命名規(guī)范1、 命名規(guī)則命名時盡可能使用英文的全稱,尤其是類名和接口名。命名時盡可能不用下劃線,除非全部大寫。命名時少用s,如使用user而不要用users,集合除外。在面向?qū)ο蟮恼Z言中,在類屬性的名稱中包含類名是多余的,如不應(yīng)該使用Book.BookTitle。而是應(yīng)該使用 Book.Title。布爾變量名應(yīng)該包含 Is,這意味著 Yes/No 或 True/False 值,如 fileIsFound即使對于可能僅出現(xiàn)在幾個代碼行中的生存期很短的變量,仍然使用有意義的名稱。僅對于短循環(huán)索引使用單字母變量名,如 i 或 j。或者寫清楚注釋。可能的情況下,盡量不要使用原義數(shù)字或原義字符串,如 For i = 1 To 7。而是使用命名常數(shù),如 For i = 1 To NUM_DAYS_IN_WEEK 以便于維護和理解。命名空間和類不能使用同樣的名字。例如,有一個類被命名為Debug后,就不要再使用Debug作為一個名稱空間名。在適當?shù)牡胤?,使用復合單詞命名派生的類。如ApplicationException 是從名為 Exception 的類派生的類。接口開始字母一定為大寫的I,而后跟隨Pascal方式的接口名,如 IPersistable。而IdentityStore也是合適的類名或其它名稱,因為并不會混淆。對于參數(shù),不需要添加str或int等前綴后綴,而應(yīng)該使用可以描述參數(shù)意義的名稱。例如:string Format(string format, args() As object)Public的字段用Pascal命名方式,而private,protect字段用camel命名。屬性的命名盡可能與對應(yīng)的字段同名,用大小寫來區(qū)分。集合的命名時,盡可能使用復數(shù)。2、 大小寫規(guī)則基本原則:內(nèi)部封裝起來的私有字段、參數(shù)、變量為camel命名方法,其它的為Pascal命名方法。常數(shù)使用全部大寫字母,單詞之間使用下劃線分隔。常用計算機通用單詞縮寫可寫成大寫,如IO,UI,TCP,CRM等。標識符大小寫示例常數(shù)全部大寫NUM_DAYS_IN_WEEK 可以使用下劃線分隔類PascalAppDomain枚舉類型PascalErrorLevel枚舉值PascalFatalError事件PascalValueChange接口PascalIDisposable 注意 總是以 I 前綴開始。方法PascalToString命名空間PascalSystem.Drawing屬性PascalBackColor公共字段PascalRedValue 注意 很少使用。屬性優(yōu)于使用公共實例字段。只讀靜態(tài)字段PascalRedValue私有字段camelredValue參數(shù)cameltypeName方法內(nèi)的變量camelbackColor3、 DotNet中的關(guān)鍵字盡可能不要用作變量名詳見附錄,雖然多數(shù)為的關(guān)鍵字,但考慮到.net框架的通用性,建議盡量不用。五、 代碼外觀1、 列寬代碼列寬控制在110字符左右,也就是大約屏幕的4/3寬。如果太長需要換行,則從第二行起向后縮進。如:string inserString = Insert Into TableName (username,password,email,sex,address)+ Values(張三,123546,123,男,體育路11號);2、 縮進 縮進應(yīng)該是每行一個Tab(4個空格),按照VS2005環(huán)境的默認生成格式進行縮進。3、 空行空行是為了將邏輯上相關(guān)聯(lián)的代碼分塊,以便提高代碼的可閱讀性。在以下情況下使用兩個或更多空行1、接口和類的定義之間。2、枚舉和類的定義之間。3、類與類的定義之間。 在以下情況下使用一個空行1、 屬性與屬性之間、方法與方法之間。2、 屬性、方法、字段相互之間。3、 方法中變量聲明與語句之間。4、 方法中不同的邏輯塊之間。5、 方法中的返回語句與其他的語句之間。6、 注釋與它注釋的語句間不空行,但與其他的語句間空一行。4、 花括號 - 1、 左花括號 “” 放于關(guān)鍵字或方法名的下一行并與之對齊,同時與右花括號“”對齊。如 if (condition) 2、 if、while、do語句后一定要使用“”,即使“”號中為空或只有一條語句,除非不加“”能提高程序的可讀性。如 if (someValue = 1) someValue = 2; 5、 代碼塊在代碼中點擊右鍵插入代碼段Visual C#。(提示:大多數(shù)情況下,輸入關(guān)鍵字后按TAB鍵即可自動生成代碼,如try+TAB)與VS2005環(huán)境自動生成的代碼塊保持一致。6、 重構(gòu)多使用VS2005開發(fā)環(huán)境提供的代碼重構(gòu)功能:例如在類的某一個字段上點擊右鍵重構(gòu)封裝字段。六、 程序注釋1、 原則 每一個文件,每一個類,每一個類的public方法必須填寫正確的注釋。 如果進行了修改,則在文件上方填寫相應(yīng)的修改信息,并在代碼中注出修改的地方和修改的原因。如果修改的是其它人的模塊,則必須填寫修改人的標識。 修改代碼時,總是使代碼周圍的注釋保持最新。 避免雜亂的注釋,如一整行星號。而是應(yīng)該使用空白將注釋同代碼分開。 避免在塊注釋的周圍加上印刷框。這樣看起來可能很漂亮,但是難于維護。 如果需要用注釋來解釋復雜的代碼節(jié),請檢查此代碼以確定是否應(yīng)該重寫它。盡一切可能不注釋難以理解的代碼,而應(yīng)該重寫它。盡管一般不應(yīng)該為了使代碼更簡單以便于人們使用而犧牲性能,但必須保持性能和可維護性之間的平衡。 在編寫代碼時就注釋,因為以后很可能沒有時間這樣做。另外,如果有機會復查已編寫的代碼,在今天看來很明顯的東西六周以后或許就不明顯了。 注釋代碼中不十分明顯的任何內(nèi)容。 為了防止問題反復出現(xiàn),對錯誤修復和解決方法代碼總是使用注釋,尤其是在團隊環(huán)境中。 對由循環(huán)和邏輯分支組成的代碼使用注釋,特別是循環(huán)邊界條件的說明。 2、 文件注釋commFile導入預定義好的commFile.snippet(參見附錄)。文件注釋應(yīng)該放在using段之后類之前輸入commFile,按TAB鍵/* * Copyright (C) 寶橋科技版權(quán)所有 * * 創(chuàng)建標識:owne20090101 * * 文件功能描述:對此文件實現(xiàn)功能的描述 * * 修改標識:修改人日期 * 修改描述: * */3、 類注釋在類的上方輸入/,使用XML格式的文檔說明。例如 / / 根據(jù)進程名來判斷當前程序運行的個數(shù) / public static class AppInstance 4、 方法注釋在方法的上方輸入/,使用XML格式的文檔說明。例如: / / 讀取INI文件中的值 / / INI文件中的段 / INI文件中的鍵值 / 返回字符串值,如果沒有此值返回空字符串 / / string s=INIClass.INIReadValue(DataBase,Server) / public string INIReadValue(string section, string key) 方法中的每一個參數(shù)及返回值則必須寫清楚用途,尤其是public的方法。比較難以使用或難于理解的方法,需要使用標簽來寫下一個簡單的使用范例。七、 控件命名規(guī)則命名方法:控件名簡寫+英文描述,英文描述首字母大寫Panel,Label等程序不操作的控件可以不命名,使用缺省名稱。下面是部分常用控件的縮寫:10控件名簡寫FormfrmButtonbtnCheckBoxchkTextBoxtxtLabellblListBoxlstListViewlstvComboBoxcmbDateTimePickerdtpCalendercldMonthCalendarmcldPictureBoxpicImageimgRadioButtonrdoTreeViewtvNumericUpDownupdnPanelpnlMenuStripmenuContextMenuStripcmenuDataSetdsDataGridViewdgvImageListimglstToolStriptsToolStripButtontsb八、 命名空間(NameSpace)命名規(guī)范及項目組織形式1、九、 界面設(shè)計規(guī)范1、 常用按鈕/快捷鍵命名按鈕中文名按鈕名快捷鍵增加(A)btnAddA修改(E)btnEditE刪除(D)btnDelD保存(S)btnSaveS取消(C)btnCancelC確定(O)btnOkO應(yīng)用(Y)btnApplyY退出(X)btnExitX關(guān)閉(C)btnCloseC十、 數(shù)據(jù)庫命名規(guī)則(暫定)所有數(shù)據(jù)庫、表、字段、視圖、存儲過程等的標識命名,除了前綴外,全部遵守Pascal命名規(guī)則,而所有的前綴則全部小寫。禁止使用中文命名1、 數(shù)據(jù)庫(Database)的定義數(shù)據(jù)庫名稱 = 數(shù)據(jù)庫內(nèi)容標識2、 表(Table)的定義命名應(yīng)盡量反映存儲的數(shù)據(jù)內(nèi)容,并且盡可能不使用復數(shù)。例如使用Product,而不是Products。如果表名與SQL關(guān)鍵字沖突,考慮加上Tbl后綴。例如:UserTbl,而不是User表名稱 = 表名前綴 + 表內(nèi)容標識如ClientInfo相關(guān)聯(lián)的一系的表以ci作為前綴,即有表名:ciHistory,ciContact,ciBusiness3、 列/字段(Field)的定義列名稱命名采用英文單詞或縮寫,英文單詞只來自于具體業(yè)務(wù)定義,盡量表達清楚含義。例如:AddressIDPostalCode盡量避免使用拼音命名,如果不可避免,對于比較短的列名,采用拼音全寫,如果拼音列名比較復雜,可以采用首個字用全拼,其它字用首字母大寫表示。例如:寧波 Ningbo經(jīng)營方式 JingYFS主鍵一般可以命名為+ID,如Product表的主鍵命名名ProductID。使用單數(shù)名稱,而不是復數(shù)名稱4、 視圖(View)的命名視圖的名稱 = v + 視圖內(nèi)容標識如 :vUserTbl5、 觸發(fā)器名觸發(fā)類型InsertDeleteUpdate觸發(fā)標識idu觸發(fā)名= tr + 觸發(fā)標識 + 相應(yīng)的表名如:triClient,trdClient。6、 變量名Pascal命名方式,如EmployeeName。7、 其它命名規(guī)則(暫定)內(nèi)容前綴示例存儲過程 Store ProcedureprprDeleteTerminatedReps用戶函數(shù)FunctionfnfnGetPY其它如主鍵、索引等,暫不作要求8、 SQL語句的編寫規(guī)范(簡)數(shù)據(jù)庫中存儲過程和觸發(fā)器中涉及大量的SQL語句,對SQL語句的編寫規(guī)范如下:關(guān)鍵字大寫:在SQL語句的編寫中,凡是SQL語句的關(guān)鍵字一律大寫,如: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適當?shù)目s進準確而精煉的注釋9、 常用字段命名這里的常用字段是指在建表時頻繁使用的表名或列名,下表對常用字段進行建議性定義,列名稱數(shù)據(jù)類型說明CreatedDatedatetime紀錄創(chuàng)建日期,一般使用GETDATE()自動生成ModifiedDatedatetime紀錄最后修改日期,首次使用GETDATE()DeletedDatedatetime記錄刪除(標記刪除)日期StartDatedatetime開始日期EndDatedatetime結(jié)束日期StartTimedatetime開始時間EndTimedatetime結(jié)束時間IDint使用ID而不是Id或id。一般為自增長主鍵列Codestring字符串類型的代碼,如PostCode,ProductCodeRowGuiduniqueidentifier唯一標識行的ROWGUIDCOL號,用于支持合并復制ParentIDint父IDStatusint狀態(tài)十一、 附錄1、 commFile.snippet Expansion 文件注釋 commFile 關(guān)于本文件的注釋說明 bqkj yux 20090129 owner 創(chuàng)建人 owne20090101 fileComment 文件功能描述 對此文件實現(xiàn)功能的描述 2、 DOTNET關(guān)鍵字列表AddHandlerAddressOfAliasAndAnsiAsAssemblyAutoBaseBooleanByRefByteByValCallCaseCatchCBoolCByteCcharCDateCDecCDblCharCintClassCLngCObjConstCshortCSngCStrCTypeDateDecimalD

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論