系統(tǒng)程序開發(fā)規(guī)范_第1頁
系統(tǒng)程序開發(fā)規(guī)范_第2頁
系統(tǒng)程序開發(fā)規(guī)范_第3頁
系統(tǒng)程序開發(fā)規(guī)范_第4頁
系統(tǒng)程序開發(fā)規(guī)范_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Panorama 系統(tǒng)程序開發(fā)規(guī)范之二1.匈牙利命名規(guī)則aArraybBooleanbyBytecChar/有符號型字符cbChar Byte/無符號型字符(沒多大用處)crColorRef/顏色參考值cx,cyLength of x,y (ShortInt)/坐標(biāo)差(長度)dwDouble WordfnFunctionhHandleiIntegerm_Member of a classnShort IntegernpNear PointerpPointerlpLong PointersStringszString with Zero End/ 以字符'0'結(jié)尾的字符串tmTe

2、xt/文本內(nèi)容wWordx,yCoordinate/坐標(biāo)(str)變 前綴 類型2.Panorama 系統(tǒng)的命名約定2.1 VC 中變量命名時的前綴約定Arraya./例: CStringArray saTextBOOL b.UINTi.shortn.longl.WORDw.DWORDdw.floatf.charc.char*psz.TCHAR*psz.LPCTSTRlpsz.CStringstr.COLORREF cr.LPLOGPALETTE lp.(包括 LP 開頭的類型都是這樣)POINTpt.CPointpt.HANDLEh.HGLOBAL h.(包括 H 開頭的類型都是這

3、樣)說明:1 . 如果是指向上述類型的指針,就在上面規(guī)范前加"p" ;2 .如果是指向上述類型的雙重指針,就在上面規(guī)范前加"pp" ;3 .如果是類成員變量,則在上面規(guī)范前加"m_"4 .全局變量,則在上面規(guī)范前加"g_"5 .在類型前加了"const", 命名約定不變;2.2 VC 中變量命名時的后綴約定1.MFC 類CWnd*p.Wnd省去的地方一般為該類的用途(如果是某一個類的成員,則還應(yīng)該在前加 "m_") 又如: CView* p.View1.3 局 部 變 量 應(yīng)

4、 盡 量 易 懂 簡 潔 , 使 用 常 見 的 變 量 , 如 Num,nCount,i,j,k,n,len,pos, offset,nReadNum,index,nRet,ret, string,filename 臨時變量,如 ltmp,ftmp,tmpStr,tempStr 。 。 。1.4 函數(shù)命名也應(yīng)該見名知意。 如 CalcAllDataStyle(),ReadDocDataFromTime(),GetIndexInfo()常見的函數(shù)Init_, Open_, Create_, Get_, Set_, Read_, Load_, Write_, Start_, Stop_, Che

5、ck_,Test , Fill , Process , Sort , Do , Select , Is , Exist , Ex1.5 禁止使用漢語拼音來命名;1.6 在代碼中盡量不用具體的大小數(shù)值,定義成宏,便于以后維護,如:#define MAX_DOWNLOADNUM 20struct DownInfo m_DownInfoMAX_DOWNLOADNUM;2.7 VC中一些控件的縮寫:ComboBoxEditDialogListBoxPictureAnimatecmb edt dlg lst pic ani3 .編排3.1 函數(shù)間要有空行分開,一個程序中的空行數(shù)目最好占8%-16% ;3

6、.2 變量的定義盡可能放在最開始處,多態(tài)函數(shù)和功能相近的函數(shù)集中放在一起3.3 聲明變量時對齊變量名,并在定義時加以注釋說明;4 .程序開發(fā)環(huán)境規(guī)約4.1工作目錄結(jié)構(gòu)的規(guī)定project name(項目名稱bin執(zhí)行文件log日志文件lib庫文件include頭文件src源程序dat數(shù)據(jù)文件4.1 工程中不起作用的文件或類應(yīng)刪除,工程目錄下的非工程文件也應(yīng)該移走,保持工程的 清潔,避免混淆難于管理;4.2 在VC環(huán)境下,建議將常用的頭文件全部放入stdafx.h中,而在每個 cpp開始處嵌入stdafx.ho避免頭文件的交叉引用,如果有嚴(yán)重的交叉引用,適當(dāng)使用類的聲明。4.3 將獨立性比較強的

7、模塊抽出來,做成DLL ,控件或 COM 組件,該模塊可單獨編寫和測試,也增強了其可重用性。4.4 一個比較大的工程應(yīng)留有一定的消息接口或插件接口等。4.5 工程的版本控制要嚴(yán)格,版本格式為 xx.xx.xx ,必要時使用 Build 次數(shù)或日期。高版本 盡量兼容低版本的用法、數(shù)據(jù)或協(xié)議。4.6 工程的編譯宏定義和工程參數(shù)設(shè)置應(yīng)正確,每作一個新工程時應(yīng)檢查工程參數(shù)是否正確。建議字節(jié)對齊方式為 1 字節(jié)對齊。5 . 程序備份5.1 要有備份記錄備份時注明備份日期和主要增加的功能5.2 定時備份根據(jù)程序量的多少,可以每天備份一次,也可以半天備份。5.3 多種介質(zhì)備份至少在硬盤上做2 個備份,在軟盤

8、上做一個備份;在使用他人主機進行備份時,不可放于沒有密碼保護的 ftp 服務(wù)器上,可以發(fā)送到自己的email 信箱中進行備份。5.4 軟盤上備份時,應(yīng)該去掉中間文件和執(zhí)行文件,vc可以自動生成的文件如*.clw, *.ncb,*.opt 等也可刪除,最后壓成一個zip 文件,復(fù)制到軟盤中。6 . VC 程序界面設(shè)計規(guī)范6.1 顏色選擇:6.1.1 基調(diào)應(yīng)以 WINDOWS 顏色(灰色)為主,同一個窗體中除白、黑、灰色之外,其它的顏色總數(shù)不宜超過3 種(對以生產(chǎn)和學(xué)習(xí)為目的的軟件而言, 娛樂性軟件可以做得花哨一些;6.1.2 窗體和控件(除EDIT 、 RICH EDIT 等編輯控件外)的背景色

9、也宜用灰色,當(dāng)一個控件有輸入焦點或鼠標(biāo)焦點時,可以用較明亮的顏色;6.1.3 非激活狀態(tài)下,字體前景宜用黑色,背景用灰色;6.2 字體的選擇:6.2.1 漢字字體一般選宋體,字體大小選 10號;6.2.2 一般選系統(tǒng)常用的字體,絕對不要選自己加入的而系統(tǒng)沒有的字體;6.3 圖片的選擇6.3.1 在窗體的工具攔中的按鈕可以用圖標(biāo),文字可以寫上也可以不寫,如果不寫則一定要使用 tip 來提示用戶該按鈕完成的功能;6.3.2 在按鈕中使用的圖片要能表達按鈕對應(yīng)功能的意義;6.3.3 不宜對普通的按鈕只用圖標(biāo)做外觀;6.4 操作的便利性6.4.1 為方便用戶的使用,所有的輸入控件應(yīng)該按tab 鍵和回車

10、鍵排序,特別是密碼輸入時,應(yīng)該能用回車切換輸入框的焦點;6.5 數(shù)據(jù)安全6.5.1 對程序的退出、寫數(shù)據(jù)等有破壞可能或數(shù)據(jù)丟失可能的操作應(yīng)該給用戶一次確認(rèn)的機會;6.6 幫助文件6.6.1 幫助文件宜用 html 格式,因為hlp 格式的文件只能在 windows 中用;6.7 窗體大小的確定6.7.1 一般窗體的大小應(yīng)該可以讓用戶自己調(diào)整,窗體的初始長寬比例為4: 36.7.2 要考慮到用戶可能會用到不同的分辨率,在開發(fā)時應(yīng)使用當(dāng)時流行的分辨率;6.7.3 除非必要,否則不宜用模態(tài)窗體 ,但可以讓用戶選擇使窗體成為模態(tài)窗體;6.7.4 應(yīng)用程序的大小不固定時(拖動窗口的右下角時可以改變窗體大

11、小 ) ,應(yīng)處理窗體變化時窗體內(nèi)各控件大小和位置的變化;6.8 視圖的選擇(單/多文檔界面類型)6.8.1 對于一個簡單的文本編輯器應(yīng)用程序,選擇 CEditView;6.8.2 對于一個能編輯多信息文本格式( RT F )文件的應(yīng)用程序,選擇CRichEditView( 這一選擇將導(dǎo)致應(yīng)用程序為文檔類選擇CRichEditDoc 類);6.8.3 對于一個圖形應(yīng)用程序,選擇 CScrollView;6.8.4 對于一個簡單的監(jiān)控或帳目管理應(yīng)用程序,選擇 CListView;6.8.5 要著手創(chuàng)建一個資源管理器類型的應(yīng)用程序,請選擇 CTreeView(在以后的步驟中 可以手工添加一個CLis

12、tView);6.8.6 在對話框模板外創(chuàng)建一個視圖, 選擇 CFormView( 一個對話框是一個被幾個控件窗口占據(jù)的窗口,諸如按鈕和編輯框);6.9 MFC 應(yīng)用程序類型的選擇:6.9.1 如果創(chuàng)建一個用戶界面需求有限的應(yīng)用程序,或如果想界面完全單一,那么就創(chuàng)建一個對話框應(yīng)用程序。 典型的對話框應(yīng)用程序包括配置硬件設(shè)備的應(yīng)用程序、 屏幕保護程序和游戲程序等;對話框要易用且簡潔, 字體和控件的組織搭配要得體, 能簡單不復(fù)雜, 各控件的焦點、Tab 順序等要講究,視應(yīng)用場合要適當(dāng)支持鍵盤。在簡潔易用的前提下,力求個性化,設(shè)計得更加友好。程序各對話框的風(fēng)格要保持一致。6.9.2 如果應(yīng)用程序要編

13、輯一個文檔,應(yīng)該選擇單/多文檔界面類型。這里的“編輯一個文檔”是廣義上的意思,所指的文檔可以是一個文本文件、電子數(shù)據(jù)表文件、第三方數(shù)據(jù)庫的一個或多個表、或者是自己的二進制文件,甚至可以是大量硬件設(shè)備的儲存設(shè)置。編輯僅僅表示對其中任何一個類型的文檔進行添加、刪除或修改操作。6.9.3 單文檔界面應(yīng)用程序一次只允許處理一個文檔。如果應(yīng)用程序?qū)嶋H上一次只需處理 一個文檔,諸如監(jiān)視一組硬件設(shè)備的應(yīng)用程序,那么應(yīng)該選擇單文檔界面;否則應(yīng)該創(chuàng)建一個多文檔界面應(yīng)用程序,即使在開始時一次編輯多個文檔并未顯出有任何好處。6.9.4 一個多文檔界面應(yīng)用程序允許一次編輯多個文檔,它并不比一個單文檔界面應(yīng)用程 序復(fù)雜

14、,但卻帶來了一次至少查看多個文檔的方便。6.9.5 在重要的窗口或區(qū)域應(yīng)能彈出右鍵,實現(xiàn)常見操作。工具欄上放最常用的操作按鈕,必要時動態(tài)更換按鈕。狀態(tài)欄顯示足夠多的有用信息。消息主控在Mainframe中,單文檔的主控也可在View中,所有的對話框的彈出或非模態(tài)對話框的控制都在主控窗口中完成,具 體的數(shù)據(jù)處理放在單獨的文件中或設(shè)計成類。在App類中實現(xiàn)Ini讀寫,各數(shù)據(jù)對象的定義和析構(gòu),全局變量的賦值和初始計算,存盤退出等。各視圖的OnDraw和GDI畫圖盡量使用內(nèi)存位圖的方式,以免閃爍。6.10 操作進度指示6.10.1 把鼠標(biāo)光標(biāo)暫時變成沙漏形狀,以指示一個漫長的操作,要求用戶應(yīng)該等待。6

15、.10.2 可以用沙漏光標(biāo)指示短暫的等待。對于長時間的等待,可以考慮使用一個無模式對話框,并在上面顯示簡短的消息,描述正進行什么處理 ;6.11 分隔線控件6.11.1 為統(tǒng)一起見不要使用分組框、按鈕等控件做分隔線,應(yīng)按如下做法:用PictureControl,屬性設(shè)為Etched和Frame,使該控件縮小到一條直線;7 .其他7.1 .為保證系統(tǒng)間的兼容性,不使用int類型(因為不同系統(tǒng)之間的存儲字節(jié)長度往往不同),應(yīng)使用long或short型。7.2 . 頭文件名應(yīng)小寫,如用#include "abcdef.h ";7.3 .本系統(tǒng)中注釋統(tǒng)一只用“ ”;7.4 if(0

16、 = GetDataType( 比 if(GetDataType( .)= 0)好,縱使誤將=寫成=,在編譯一 層就會報錯。7.5 函數(shù)定義 short GetInputType( const char * IpzInput) 比 short GetInputType (char * IpzInput) 好,以免IpzInput在函數(shù)體中被破壞。7.6 變量在定義時賦初值,類析構(gòu)時或程序退出時判斷釋放所有變量。7.7 編碼空間一定要充分預(yù)留,編碼時注意可擴充性,如:定義保留字段,供以后擴充使用7.8 不要大量使用無符號型變量。無符號變量在判斷時易造成錯誤,甚至死循環(huán),盡量少用。7.9 少使用

17、malloc,free , realloc;多用 new,delete; new,delete 是規(guī)范的 C+語法,通用性強, realloc易造成內(nèi)存抖動。7.10 代碼中不要用 "+2","+4", 要用 "+sizeof(short)","+sizeof(int)" ;不要用 filename40, 而是 filenameMAX_PATH 。附錄 A 程序維護手冊格式說明文檔編號版本號密級文檔名稱XXXX程序維護手冊 項目編號: 項目名稱: 開發(fā)部門:項目負責(zé)人:編寫年月日校對年月日審核年月日批準(zhǔn)年月日程序維

18、護手冊1 引言1 1 編寫目的 闡明編寫維護手冊的目的,簡述其內(nèi)容。指出讀者對象(程序維護人員、研發(fā)人員) 。 1 2 開發(fā)單位 說明項目的提出者、項目的委托單位、開發(fā)單位和使用場所。 1 3定義 列出本文擋中用到的專業(yè)術(shù)語的定義和縮寫詞的原文。 1 4參考資料 可包括: a. 用戶操作手冊; b. 于本項目有關(guān)的文檔。 列出這些資料的作者、標(biāo)題、編號、發(fā)表日期、出版單位或資料來源以及保密級別。 2 系統(tǒng)說明2 1 系統(tǒng)用途 說明系統(tǒng)具備的功能,輸入和輸出。 2 2安全保密 說明系統(tǒng)安全保密方面的考慮。 2 3總體說明 說明系統(tǒng)的總體功能、 對子系統(tǒng)和作業(yè)作出綜合性的介紹, 并用圖表方式給出系

19、統(tǒng)主要部分的內(nèi)部關(guān)系。 2 4 程序說明 說明系統(tǒng)中每一程序、分程序的細節(jié)和特性。 2 4 1 程序 1 的說明24 1 1功能 說明程序的功能。 24 12方法說明實現(xiàn)方法。24 13輸入說明程序的輸入、媒體、運行數(shù)據(jù)記錄、運行開始時使用的輸入數(shù)據(jù)的類型和存放單元、與程序初始化有關(guān)的入口要求。 2 4 1 4 處理 處理特點和目的,如: a. 用圖表說明程序的運行的邏輯流程; b. 程序主要轉(zhuǎn)移條件; c. 對程序的約束條件; d. 程序結(jié)束時的出口要求; e. 與下一個程序的通信與聯(lián)結(jié)(運行、控制) ; f. 由該程序產(chǎn)生并供處理使用的輸出數(shù)據(jù)類型和存放單元。 g.程序運行所用存儲量、類型

20、及存儲位置等。 2 4 1 5 輸出 程序的輸出。 2 4 1 6 接口 本程序與本系統(tǒng)其他部分的接口。 2 4 1 7 表格 說明程序內(nèi)部的各種表、項的細節(jié)和特性。對每張表的說明至少包括:a. 表的標(biāo)識符; b. 使用目的; c. 使用此表的其他程序; d. 邏輯劃分,如塊或部,不包括表項; e. 表的基本結(jié)構(gòu); f. 設(shè)計安排,包括表的控制信息。表目結(jié)構(gòu)細節(jié)、使用中的特有性質(zhì)及各表項的標(biāo)識、位置、用途、類型、編碼表示。 2 4 1 8 特有的運行性質(zhì) 說明在用戶操作手冊中沒有提到的運行性質(zhì)。 2 4 2 程序 2 的說明 與程序 1 的說明相同。以后其他各程序的說明相同。 3 操作環(huán)境3

21、1 設(shè)備 逐步說明系統(tǒng)的設(shè)備配置極其特性3 2 支持文件 列出系統(tǒng)使用的支持軟件、包括他們的名稱和版本號。 3 3 數(shù)據(jù)庫 說明每個數(shù)據(jù)庫的性質(zhì)和內(nèi)容,包括安全考慮。 3 3 1 總體特征 如: a. 標(biāo)識符 b. 使用這些數(shù)據(jù)庫的程序; c. 靜態(tài)數(shù)據(jù); d. 動態(tài)數(shù)據(jù); e. 數(shù)據(jù)庫的 存儲媒體; f. 程序使用數(shù)據(jù)庫的限制。 3 3 2 結(jié)構(gòu)及詳細說明3 3 2 1 說明該數(shù)據(jù)庫的結(jié)構(gòu),包括其中的記錄和項;3 3 2 2 說明記錄的組成,包括首部或或控制段、記錄體;3 3 2 3 說明每個記錄結(jié)構(gòu)的字段,包括:標(biāo)記或標(biāo)號、字段的字符長度和位數(shù)該字段 的允許值范圍。3 3 2 4 擴充:說

22、明為記錄追加字段的規(guī)定;4 維護過程4 1 約定 列出該軟件系統(tǒng)設(shè)計中所使用全部規(guī)則和約定,包括: a. 程序、分程序、記錄、字段和存儲區(qū)的標(biāo)識或標(biāo)號助記符的使用規(guī)則; b. 圖表的處理標(biāo)準(zhǔn)、卡片的連接順序、語句和記號中使用的縮寫、 出現(xiàn)在圖表中的符號名; c. 使用軟件的技術(shù)標(biāo)準(zhǔn); d. 標(biāo)準(zhǔn)化的數(shù)據(jù)元素極其特征。 4 2 驗證過程 說明一個程序修改后, 對其進行驗證的要求和過程 (包括測試程序和數(shù)據(jù)) 及程序 周期性驗證的過程。 4 3出錯及糾正方法 列出出錯狀態(tài)及其糾正方法。 4 4專門維護過程 說明文檔其他地方?jīng)]有提到的專門維護過程,如: a. 維護該軟件系統(tǒng)的輸入部分(如數(shù)據(jù)庫)的要求、過程和驗證方法; b. 運行程序庫維護系統(tǒng)所必須的要求、過程和驗證方法; c. 對閏年、世紀(jì)變更所需要的臨時性修改等。 4 5 專用維護程序 列出維護軟件系統(tǒng)使用的后備技術(shù)和專用程序 (如文件恢復(fù)程序、淘汰過時文件的程序等)的目錄,并加以說明,內(nèi)容包括: a. 維護作業(yè)的輸入輸出要求; b. 輸入的詳細過程及硬件設(shè)備上建立、運行并完成維護作業(yè)的操作步驟。 4 6 程序清單和流程圖 引用資料或提供附錄給出程序清單和流程圖。 附錄 B 部分編程常用單詞縮寫規(guī)則: 較短的單詞可通過去掉

溫馨提示

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

評論

0/150

提交評論