



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、軟件編碼設(shè)計(jì)規(guī)范11編寫目的:使用統(tǒng)一編碼約定集的主要原因,是使應(yīng)用程序的結(jié)構(gòu)和編碼風(fēng)格標(biāo)準(zhǔn)化,以便于閱讀和理解這段編碼。好的編碼約定可使源代碼嚴(yán)謹(jǐn)、可讀性強(qiáng)且意義清楚,與其它語言約定相一致,并且盡可能的直觀。一組通用目的的編碼約定應(yīng)該定義完成上述目的所必需的、能讓程序員自由地創(chuàng)建程序邏輯和功能流程的最小的要求。編碼約定的目的是使程序易于閱讀和理解,而不是用過份的約束和絕對(duì)的限制來束縛程序員本身的創(chuàng)造性。12內(nèi)容:程序設(shè)計(jì)語言的特性和風(fēng)格會(huì)直接影響到軟件的質(zhì)量和可維護(hù)性。編碼原則:應(yīng)盡量避免在系統(tǒng)初始化時(shí)運(yùn)行過多的代碼。(此處加入詳細(xì)原則)(1) 選用控制結(jié)構(gòu)只準(zhǔn)許一個(gè)入口和一個(gè)出口。(2)
2、程序語句組成容易識(shí)別的塊,每塊只有一個(gè)入口和一個(gè)出口。(3) 復(fù)雜的結(jié)構(gòu)應(yīng)該用基本控制結(jié)構(gòu)進(jìn)行組合嵌套來實(shí)現(xiàn)。(4) 語句中沒有的控制結(jié)構(gòu),可用一段等價(jià)的程序段模擬,但要求該程序段在整個(gè)系統(tǒng)應(yīng)前后一致。(5) 嚴(yán)格控制GOTO語句,僅在下列情形才可使用。u 用一個(gè)非結(jié)構(gòu)化的程序設(shè)計(jì)語言去實(shí)現(xiàn)一個(gè)結(jié)構(gòu)化的構(gòu)造。u 在某種可以改善而不是損害程序可讀性的情況下。121對(duì)象命名約定公式:對(duì)象名稱=對(duì)象前綴+自定義名稱(自定義名稱要有一定的意義且第一個(gè)字母大寫)說明:如果是不需要對(duì)其編碼的對(duì)象,那么對(duì)象名用默認(rèn)對(duì)象名。應(yīng)該用一致的前綴來命名對(duì)象,使人們?nèi)菀鬃R(shí)別對(duì)象的類型。下面列出了 Delphi 支持的
3、一些推薦使用的對(duì)象約定。(1) 推薦使用的項(xiàng)目前綴控件類型前綴例子Class Modulecmdl cmdlCheckData Environment dev devPrints Data Report drtdrtEnglishFormfrmfrmEntryMDIForm mfrmmfrmSinoexportModulemdl mdlConnection ProjectpjtpjtCkmis1 / 4(2)推薦使用的控件前綴控件類型前綴例子3D PanelpnlpnlGroupADO DataadoadoBiblioAnimated buttonanianiMailBoxCheck boxc
4、hkchkReadOnlyCombo box drop-down list boxcbocboEnglishCommand buttoncmdcmdExitCommon dialogdlgdlgFileOpenCommunications comcomFaxControl(當(dāng)特定類型未知時(shí),在過程中所使用的)ctrctrCurrentDatadatdatBiblioData-bound combo boxdbcbodbcboLanguageData-bound griddbgrddbgrdQueryResultxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx(
5、3)推薦使用的數(shù)據(jù)訪問對(duì)象的前綴用下列前綴來指示數(shù)據(jù)訪問對(duì)象。數(shù)據(jù)庫對(duì)象前綴例子ConnectionconconReportsxxxdbdbAccounts一些例子:(此處加入例子)(4)推薦使用的菜單前綴應(yīng)用程序頻繁使用許多菜單控件,對(duì)于這些控件具備一組唯一的命名約定很實(shí)用。除了最前面 "mnu" 標(biāo)記以外,菜單控件的前綴應(yīng)該被擴(kuò)展:對(duì)每一級(jí)嵌套增加一個(gè)附加前綴,將最終的菜單的標(biāo)題放在名稱字符串的最后。下表列出了一些例子。菜單標(biāo)題序列 菜單處理器名稱 (此處加入標(biāo)題序列及處理器名稱)當(dāng)使用這種命名約定時(shí),一個(gè)特定的菜單組的所有成員一個(gè)接一個(gè)地列在 Visual Basic
6、 的“屬性”窗口中。而且,菜單控件的名字清楚地表示出它們所屬的菜單項(xiàng)。(5)為其它控件選擇前綴對(duì)于上面沒有列出的控件,應(yīng)該用唯一的由兩個(gè)或三個(gè)字符組成的前綴使它們標(biāo)準(zhǔn)化,以保持一致性。只有當(dāng)需要澄清時(shí),才使用多于三個(gè)字符的前綴。例如,(此處加入例子)122常量和變量命名約定 公式:常量或變量名稱=常量或變量范圍前綴+常量或變量類型前綴+自定義名稱(自定義名稱要有一定的意義且第一個(gè)字母大寫)除了對(duì)象之外,常量和變量也需要良好格式的命名約定。本節(jié)列出了(此處加入變量列表)。變量應(yīng)該總是被定義在盡可能小的范圍內(nèi)。全局 (Public) 變量可以導(dǎo)致極其復(fù)雜的狀態(tài)機(jī)構(gòu),并且使一個(gè)應(yīng)用程序的邏輯非常難于
7、理解。全局變量也使代碼的重用和維護(hù)更加困難。Delphi中的變量可以有下列范圍:范圍 聲明位置 可見位置 過程級(jí)(此處加入名稱) 模塊級(jí)(此處加入名稱)全局(此處加入名稱)。較好的編碼習(xí)慣是盡可能寫模塊化的代碼。例如,如果應(yīng)用程序顯示一個(gè)對(duì)話框,就把要完成這一對(duì)話任務(wù)所需要的所有控件和代碼放在單一的窗體中。這有助于將應(yīng)用程序的代碼組織在有用的組件中,并減小它運(yùn)行時(shí)的開銷。除了全局變量(應(yīng)該是不被傳遞的),過程和函數(shù)應(yīng)該僅對(duì)傳遞給它們的對(duì)象操作。在過程中使用的全局變量應(yīng)該在過程起始處的聲明部分中標(biāo)識(shí)出來。變量范圍前綴隨著工程大小的增長,劃分變量范圍的工作也迅速增加。在類型前綴的前面放置單字母范圍
8、前綴標(biāo)明了這種增長,但變量名的長度并沒有增加很多。范圍前綴例子全局gGstrUserName模塊級(jí)mMblnCalcInProgress本地到過程無DblVelocity(此處加入說明)變量聲明所有的變量將會(huì)(此處加入說明)。應(yīng)該給變量加前綴來指明它們的數(shù)據(jù)類型。而且前綴可以被擴(kuò)展,用來指明變量范圍,特別是對(duì)大型程序。變量數(shù)據(jù)類型用下列前綴來指明一個(gè)變量的數(shù)據(jù)類型。(此處加入說明)描述變量和過程名變量或過程名的主體應(yīng)該使用大小寫混合形式,并且應(yīng)該足夠長以描述它的作用。而且,函數(shù)名(此處加入函數(shù)名稱)。對(duì)于頻繁使用的或長的項(xiàng),推薦使用標(biāo)準(zhǔn)縮略語以使名稱的長度合理化。一般來說,(此處加入特例說明)
9、就困難了。當(dāng)使用縮略語時(shí),要確保它們?cè)谡麄€(gè)應(yīng)用程序中的一致性。在一個(gè)工程中,如果一會(huì)兒使用(此處加入說明問題),將導(dǎo)致不必要的混淆。用戶定義的類型在一項(xiàng)有許多用戶定義類型的大工程中,常常有必要給每種類型一個(gè)它自己的三個(gè)字符的前綴。如果這些前綴是(此處加入前綴名稱)。123結(jié)構(gòu)化編碼約定(此處加入約定說明)記住下列幾點(diǎn): 每一個(gè)重要變量的聲明應(yīng)該包括(此處加入變量名稱)。 (2)格式化代碼因?yàn)樵S多程序員(此處加入問題) (此處加入解決問題的說明)(3)給常量分組變量和定義的常量應(yīng)該按功能分組,而不是分散到單獨(dú)區(qū)域或特定文件中。(4)運(yùn)算符(此處加入運(yùn)算符列表及說明)(5)為(此處加入問題) 查詢創(chuàng)建字符串(此處加入說明)124數(shù)據(jù)源的約定(此處加入數(shù)據(jù)源的約定)125數(shù)據(jù)庫訪問約定訪問數(shù)據(jù)庫用ODBC drivers/ADO,但如果在有的技術(shù)ADO解決不了的情況
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- VB開發(fā)流程的常見問題及答案
- 軟件考試試題及答案總結(jié)分享
- 開放源代碼軟件考試題目及答案
- 信息處理技術(shù)員考試題庫及答案
- 2025屆湖南省岳陽市汨羅市沙溪中學(xué)數(shù)學(xué)七下期末學(xué)業(yè)質(zhì)量監(jiān)測試題含解析
- 兒童活動(dòng)中心安全防范措施計(jì)劃
- 明確任務(wù)分工的實(shí)施方案計(jì)劃
- 校內(nèi)交流與學(xué)習(xí)共享活動(dòng)計(jì)劃
- 軟件水平考試信息處理試題及答案
- 教學(xué)日志撰寫要求計(jì)劃
- 無傘空投技術(shù)研究進(jìn)展及國外準(zhǔn)備階段分析
- 上海家政服務(wù)合同樣本
- 全國農(nóng)牧漁業(yè)豐收獎(jiǎng)獎(jiǎng)勵(lì)制度
- 黑龍江省哈爾濱市第四十七中學(xué)2024-2025學(xué)年八年級(jí)下學(xué)期3月月考地理試題(含答案)
- 浙江省強(qiáng)基聯(lián)盟2024-2025學(xué)年高一下學(xué)期3月月考英語試題(含答案無聽力原文及音頻)
- 《電力建設(shè)工程施工安全管理導(dǎo)則》(nbt10096-2018)
- 垃圾場應(yīng)急預(yù)案
- 醫(yī)院醫(yī)療服務(wù)收費(fèi)自查自糾制度
- 低壓電纜破損修補(bǔ)方案
- 上海交大附中2024-2025學(xué)年下學(xué)期高二語文摸底考試作文導(dǎo)寫:這種“我”的崛起必然導(dǎo)致“我們”的消解
- 術(shù)后肺部感染控制與預(yù)防
評(píng)論
0/150
提交評(píng)論