編碼規(guī)范V100

編碼規(guī)范V100

ID:38221182

大?。?89.50 KB

頁(yè)數(shù):24頁(yè)

時(shí)間:2019-06-07

編碼規(guī)范V100_第1頁(yè)
編碼規(guī)范V100_第2頁(yè)
編碼規(guī)范V100_第3頁(yè)
編碼規(guī)范V100_第4頁(yè)
編碼規(guī)范V100_第5頁(yè)
資源描述:

《編碼規(guī)范V100》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)

1、編號(hào):GF_Code_V1.0.0C#編碼規(guī)范保密級(jí)別:保密文件狀態(tài)[]草稿文件[√]正式文件[]更改正式文件文件標(biāo)識(shí):GF_Code_V1.0當(dāng)前版本:V1.0.0作者:謝換青審核:完成日期:2011-11-1124/24版本歷史版本/狀態(tài)作者參與者起止日期備注V1.0.0謝換青2011-09-10至2011-11-1124/24目錄1文檔描述51.1目的51.2讀者對(duì)象51.3適用范圍51.4定義52編程準(zhǔn)則52.1變量使用52.2數(shù)據(jù)庫(kù)操作62.3對(duì)象使用62.4結(jié)構(gòu)化要求62.5函數(shù)返回值原則72.6關(guān)鍵字使用原則72.7架構(gòu)使用原則73編碼規(guī)則73.1錯(cuò)

2、誤檢查規(guī)則73.2大括號(hào)規(guī)則83.3縮進(jìn)規(guī)則93.4IfThenElse規(guī)則93.5Switch…Case…規(guī)則103.6單語(yǔ)句規(guī)則103.7單一功能規(guī)則103.8獨(dú)立賦值規(guī)則103.9模塊化規(guī)則103.10交流規(guī)則114命名規(guī)范114.1命名規(guī)范114.2變量(Variable)命名114.3常量(const)命名144.4類(Class)命名1424/244.5接口(Interface)命名154.6方法(Method)命名154.7命名空間(NameSpace)命名155注釋規(guī)范155.1概述155.2自建代碼文件注釋165.3模塊(類)注釋165.4類屬性

3、注釋175.5方法注釋175.6代碼間注釋176代碼包的版本號(hào)186.1代碼包的標(biāo)識(shí)187輸入控制校驗(yàn)規(guī)則198附件198.1控件縮寫前綴19124/241引言1.1目的為了統(tǒng)一公司軟件開(kāi)發(fā)的設(shè)計(jì)過(guò)程中關(guān)于代碼編寫時(shí)的編寫規(guī)范和具體開(kāi)發(fā)工作時(shí)的編程規(guī)范,保證代碼的一致性,便于交流和維護(hù),特制定此規(guī)范。1.2讀者對(duì)象參與本項(xiàng)目開(kāi)發(fā)工作的軟件工程師1.3適用范圍軟件項(xiàng)目開(kāi)發(fā)的代碼編寫階段和后期維護(hù)階段。1.4定義灰色字體表示部分為優(yōu)先原則,非必行約定。藍(lán)色字體表示部分為代碼演示部分。綠色字體表示部分為代碼注釋演示部分。格式描述中,符號(hào)[]表示必選元素。格式描述中,符號(hào)

4、()表示可選元素。2編程準(zhǔn)則2.1變量使用a)?一個(gè)變量只能有一個(gè)用途;變量的用途必須和變量的名稱保持一致。b)?所有變量都必須在類和函數(shù)最前面定義,并分類排列。24/241.1數(shù)據(jù)庫(kù)操作a)??查找數(shù)據(jù)庫(kù)表或視圖時(shí),只能取出確實(shí)需要的那些字段。b)??使用無(wú)關(guān)聯(lián)子查詢,而不要使用關(guān)聯(lián)子查詢。c)??清楚明白地使用列名,而不能使用列的序號(hào)。d)??用事務(wù)保證數(shù)據(jù)的完整性。1.2對(duì)象使用a)盡可能晚地創(chuàng)建對(duì)象,并且盡可能早地釋放它。b)關(guān)于對(duì)象的創(chuàng)建,盡量使用工廠模式集中生產(chǎn)。1.3結(jié)構(gòu)化要求a)???禁止出現(xiàn)兩條等價(jià)的支路。例如:if(a==2)?????????

5、???//??????elseif(a==3)????????????//??????elseif(a==2)????????????//??????else??????????//??b)?避免使用GOTO語(yǔ)句c)?用IF語(yǔ)句來(lái)強(qiáng)調(diào)只執(zhí)行兩組語(yǔ)句中的一組。盡量不使用ELSEGOTO和ELSERETURN。d)用Switch…Case…實(shí)現(xiàn)多路分支,避免使用多IF嵌套e)避免從循環(huán)引出多個(gè)出口。f)函數(shù)只有一個(gè)出口。24/24g)在同一個(gè)類中讀寫數(shù)據(jù)源數(shù)據(jù)要保持一致如:classhello{????privatestring_Name;publicstringNa

6、me{Get{return_Name;}Set{_Name=value;}}PublicstringGetName(){//這里應(yīng)該讀寫Name屬性應(yīng)該統(tǒng)一為this.Name而不是_NameIf(!string.isNullOrEmpty(this.Name)){Returnstring.format(“Mynameis{0}”,this.Name);}}}1.1函數(shù)返回值原則1)?函數(shù)返回值避免使用結(jié)構(gòu)體等復(fù)雜類型24/241.1關(guān)鍵字使用原則1)partial關(guān)鍵字必需只作用于同一架構(gòu)層上(在不同架構(gòu)層上需要實(shí)現(xiàn)同一個(gè)類功能的,使用繼承)2)partial關(guān)

7、鍵字最好只作用于同一命名空間上1.2架構(gòu)使用原則1)低層類不允許使用高層類2)低層類庫(kù)不允許引用高層類庫(kù)2編碼規(guī)則2.1錯(cuò)誤檢查規(guī)則a)?編程中要考慮函數(shù)的各種執(zhí)行情況,盡可能處理所有流程情況。b)?檢查所有的系統(tǒng)調(diào)用的錯(cuò)誤信息,除非要忽略錯(cuò)誤。c)?將函數(shù)分兩類:一類為與屏幕的顯示無(wú)關(guān),另一類與屏幕的顯示有關(guān)。對(duì)于與屏幕顯示無(wú)關(guān)的函數(shù),函數(shù)通過(guò)返回值來(lái)報(bào)告錯(cuò)誤。對(duì)于與屏幕顯示有關(guān)的函數(shù),函數(shù)要負(fù)責(zé)向用戶發(fā)出警告,并進(jìn)行錯(cuò)誤處理。d)?錯(cuò)誤處理代碼一般放在函數(shù)末尾。e)?對(duì)于通用的錯(cuò)誤處理,可建立通用的錯(cuò)誤處理函數(shù),處理常見(jiàn)的通用的錯(cuò)誤。f)異常必須有效處理,如果

8、不能有效處

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。