版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 Panorama系統(tǒng)程序開發(fā)規(guī)范之二1.匈牙利命名規(guī)則變動(dòng) 前綴 類型 a Array b Boolean by Byte c Char /有符號型字符 cb Char Byte /無符號型字符(沒多大用處) cr ColorRef /顏色參考值 cx,cy Length of x,y (ShortInt) /坐標(biāo)差(長度) dw Double Word fn Function h Handle i Integer m_ Member of a class n Short Integer np Near Pointer p Pointer lp Long Pointer (str) s St
2、ring sz String with Zero End /以字符0結(jié)尾的字符串 tm Text /文本內(nèi)容 w Word x,y Coordinate /坐標(biāo) 2.Panorama系統(tǒng)的命名約定 2.1 VC中變量命名時(shí)的前綴約定Array a. /例:CStringArray saText BOOL b.UINT i.short n.long l.WORD w.DWORD dw.float f.char c.char* psz.TCHAR* psz.LPCTSTR lpsz.CString str.COLORREF cr.LPLOGPALETTE lp. (包括LP開頭的類型差
3、不多上如此)POINT pt.CPoint pt.HANDLE h.HGLOBAL h. (包括H開頭的類型差不多上如此)講明: 1.假如是指向上述類型的指針,就在上面規(guī)范前加 p ; 2.假如是指向上述類型的雙重指針,就在上面規(guī)范前加 pp ; 3.假如是類成員變量,則在上面規(guī)范前加 m_; 4.全局變量,則在上面規(guī)范前加 g_; 5.在類型前加了const,命名約定不變;2.2 VC中變量命名時(shí)的后綴約定1.MFC類CWnd* p.Wnd 省去的地點(diǎn)一般為該類的用途 (假如是某一個(gè)類的成員,則還應(yīng)該在前加 m_)又如:CView* p.View2.3 局部變量應(yīng)盡量易明白簡潔,使用常見的變
4、量,如Num,nCount,i,j,k,n,len,pos, offset,nReadNum,index,nRet,ret, string,filename臨時(shí)變量,如ltmp,ftmp,tmpStr,tempStr 。2.4 函數(shù)命名也應(yīng)該見名知意。如CalcAllDataStyle(),ReadDocDataFromTime(),GetIndexInfo()常見的函數(shù)Init_, Open_, Create_, Get_, Set_, Read_, Load_, Write_, Start_, Stop_, Check_, Test_, Fill_, Process_, Sort_, Do
5、_, Select_, Is_, Exist_,_Ex2.5 禁止使用漢語拼音來命名;2.6在代碼中盡量不用具體的大小數(shù)值,定義成宏,便于以后維護(hù),如:#define MAX_DOWNLOADNUM 20struct DownInfo m_DownInfoMAX_DOWNLOADNUM;2.7 VC中一些控件的縮寫:ComboBox cmbEdit edtDialog dlgListBox lstPicture picAnimate ani 3. 編排3.1 函數(shù)間要有空行分開,一個(gè)程序中的空行數(shù)目最好占8%-16% ;3.2 變量的定義盡可能放在最開始處,多態(tài)函數(shù)和功能相近的函數(shù)集中放在一起
6、;3.3 聲明變量時(shí)對齊變量名,并在定義時(shí)加以注釋講明; 4. 程序開發(fā)環(huán)境規(guī)約4.1 工作目錄結(jié)構(gòu)的規(guī)定:project name(項(xiàng)目名稱)bin 執(zhí)行文件log 日志文件lib 庫文件include頭文件src 源程序dat 數(shù)據(jù)文件4.2工程中不起作用的文件或類應(yīng)刪除,工程目錄下的非工程文件也應(yīng)該移走,保持工程的清潔,幸免混淆難于治理;4.3在VC環(huán)境下,建議將常用的頭文件全部放入stdafx.h中,而在每個(gè)cpp開始處嵌入stdafx.h。幸免頭文件的交叉引用,假如有嚴(yán)峻的交叉引用,適當(dāng)使用類的聲明。4.4 將獨(dú)立性比較強(qiáng)的模塊抽出來,做成DLL,控件或COM組件,該模塊可單獨(dú)編寫和
7、測試,也增強(qiáng)了其可重用性。4.5 一個(gè)比較大的工程應(yīng)留有一定的消息接口或插件接口等。4.6 工程的版本操縱要嚴(yán)格,版本格式為xx.xx.xx,必要時(shí)使用Build次數(shù)或日期。高版本盡量兼容低版本的用法、數(shù)據(jù)或協(xié)議。4.7 工程的編譯宏定義和工程參數(shù)設(shè)置應(yīng)正確,每作一個(gè)新工程時(shí)應(yīng)檢查工程參數(shù)是否正確。建議字節(jié)對齊方式為1字節(jié)對齊。 5. 程序備份5.1. 要有備份記錄備份時(shí)注明備份日期和要緊增加的功能5.2. 定時(shí)備份 依照程序量的多少,能夠每天備份一次,也能夠半天備份。5.3. 多種介質(zhì)備份 至少在硬盤上做2個(gè)備份,在軟盤上做一個(gè)備份;在使用他人主機(jī)進(jìn)行備份時(shí),不可放于沒有密碼愛護(hù)的ftp服務(wù)
8、器上,能夠發(fā)送到自己的email信箱中進(jìn)行備份。 5.4 在軟盤上備份時(shí),應(yīng)該去掉中間文件和執(zhí)行文件,vc能夠自動(dòng)生成的文件如*.clw, *.ncb, *.opt等也可刪除,最后壓成一個(gè)zip文件,復(fù)制到軟盤中。 6. VC程序界面設(shè)計(jì)規(guī)范 6.1.顏色選擇: 6.1.1 基調(diào)應(yīng)以WINDOWS顏色(灰色)為主,同一個(gè)窗體中除白、黑、灰色之外,其它的顏色總數(shù)不宜超過3種(對以生產(chǎn)和學(xué)習(xí)為目的的軟件而言,娛樂性軟件能夠做得花哨一些; 6.1.2 窗體和控件(除EDIT、RICH EDIT等編輯控件外)的背景色也宜用灰色,當(dāng)一個(gè)控件有輸入焦點(diǎn)或鼠標(biāo)焦點(diǎn)時(shí),能夠用較明亮的顏色; 6.1.3 非激活
9、狀態(tài)下,字體前景宜用黑色,背景用灰色;6.2.字體的選擇: 6.2.1 漢字字體一般選宋體,字體大小選10號; 6.2.2 一般選系統(tǒng)常用的字體,絕對不要選自己加入的而系統(tǒng)沒有的字體;6.3.圖片的選擇 6.3.1 在窗體的工具攔中的按鈕能夠用圖標(biāo),文字能夠?qū)懮弦材軌虿粚懀偃绮粚憚t一定要使用tip來提示用戶該按鈕完成的功能; 6.3.2 在按鈕中使用的圖片要能表達(dá)按鈕對應(yīng)功能的意義; 6.3.3 不宜對一般的按鈕只用圖標(biāo)做外觀;6.4.操作的便利性 6.4.1 為方便用戶的使用,所有的輸入控件應(yīng)該按tab鍵和回車鍵排序,特不是密碼輸入時(shí),應(yīng)該能用回車切換輸入框的焦點(diǎn);6.5.數(shù)據(jù)安全 6.5
10、.1 對程序的退出、寫數(shù)據(jù)等有破壞可能或數(shù)據(jù)丟失可能的操作應(yīng)該給用戶一次確認(rèn)的機(jī)會(huì);6.6.關(guān)心文件 6.6.1 關(guān)心文件宜用html格式,因?yàn)閔lp格式的文件只能在windows中用;6.7.窗體大小的確定 6.7.1 一般窗體的大小應(yīng)該能夠讓用戶自己調(diào)整,窗體的初始長寬比例為4:3 6.7.2 要考慮到用戶可能會(huì)用到不同的分辨率,在開發(fā)時(shí)應(yīng)使用當(dāng)時(shí)流行的分辨率; 6.7.3 除非必要,否則不宜用模態(tài)窗體,但能夠讓用戶選擇使窗體成為模態(tài)窗體; 6.7.4 應(yīng)用程序的大小不固定時(shí)(拖動(dòng)窗口的右下角時(shí)能夠改變窗體大小),應(yīng)處理窗體變化時(shí)窗體內(nèi)各控件大小和位置的變化;6.8.視圖的選擇(單/多文檔
11、界面類型) 6.8.1 關(guān)于一個(gè)簡單的文本編輯器應(yīng)用程序,選擇CEditView; 6.8.2 關(guān)于一個(gè)能編輯多信息文本格式( RT F )文件的應(yīng)用程序,選擇CRichEditView(這一選擇將導(dǎo)致應(yīng)用程序?yàn)槲臋n類選擇CRichEditDoc類); 6.8.3 關(guān)于一個(gè)圖形應(yīng)用程序,選擇CScrollView; 6.8.4 關(guān)于一個(gè)簡單的監(jiān)控或帳目治理應(yīng)用程序,選擇CListView; 6.8.5 要著手創(chuàng)建一個(gè)資源治理器類型的應(yīng)用程序,請選擇CTreeView(在以后的步驟中,能夠手工添加一個(gè)CListView); 6.8.6 在對話框模板外創(chuàng)建一個(gè)視圖,選擇CFormView(一個(gè)對話
12、框是一個(gè)被幾個(gè)控件窗口占據(jù)的窗口,諸如按鈕和編輯框);6.9. MFC應(yīng)用程序類型的選擇: 6.9.1 假如創(chuàng)建一個(gè)用戶界面需求有限的應(yīng)用程序,或假如想界面完全單一,那么就創(chuàng)建一個(gè)對話框應(yīng)用程序。典型的對話框應(yīng)用程序包括配置硬件設(shè)備的應(yīng)用程序、屏幕愛護(hù)程序和游戲程序等;對話框要易用且簡潔,字體和控件的組織搭配要得體,能簡單不復(fù)雜,各控件的焦點(diǎn)、Tab順序等要講究,視應(yīng)用場合要適當(dāng)支持鍵盤。在簡潔易用的前提下,力求個(gè)性化,設(shè)計(jì)得更加友好。程序各對話框的風(fēng)格要保持一致。 6.9.2 假如應(yīng)用程序要編輯一個(gè)文檔,應(yīng)該選擇單/多文檔界面類型。那個(gè)地點(diǎn)的“編輯一個(gè)文檔”是廣義上的意思,所指的文檔能夠是一
13、個(gè)文本文件、電子數(shù)據(jù)表文件、第三方數(shù)據(jù)庫的一個(gè)或多個(gè)表、或者是自己的二進(jìn)制文件,甚至能夠是大量硬件設(shè)備的儲(chǔ)存設(shè)置。編輯僅僅表示對其中任何一個(gè)類型的文檔進(jìn)行添加、刪除或修改操作。 6.9.3 單文檔界面應(yīng)用程序一次只同意處理一個(gè)文檔。假如應(yīng)用程序?qū)嶋H上一次只需處理一個(gè)文檔,諸如監(jiān)視一組硬件設(shè)備的應(yīng)用程序,那么應(yīng)該選擇單文檔界面;否則應(yīng)該創(chuàng)建一個(gè)多文檔界面應(yīng)用程序,即使在開始時(shí)一次編輯多個(gè)文檔并未顯出有任何好處。 6.9.4 一個(gè)多文檔界面應(yīng)用程序同意一次編輯多個(gè)文檔,它并不比一個(gè)單文檔界面應(yīng)用程序復(fù)雜,但卻帶來了一次至少查看多個(gè)文檔的方便。6.9.5 在重要的窗口或區(qū)域應(yīng)能彈出右鍵,實(shí)現(xiàn)常見操作
14、。工具欄上放最常用的操作按鈕,必要時(shí)動(dòng)態(tài)更換按鈕。狀態(tài)欄顯示足夠多的有用信息。消息主控在Mainframe中,單文檔的主控也可在View中,所有的對話框的彈出或非模態(tài)對話框的操縱都在主控窗口中完成,具體的數(shù)據(jù)處理放在單獨(dú)的文件中或設(shè)計(jì)成類。在App類中實(shí)現(xiàn)Ini讀寫,各數(shù)據(jù)對象的定義和析構(gòu),全局變量的賦值和初始計(jì)算,存盤退出等。各視圖的OnDraw和GDI畫圖盡量使用內(nèi)存位圖的方式,以免閃耀。6.10. 操作進(jìn)度指示6.10.1 把鼠標(biāo)光標(biāo)臨時(shí)變成沙漏形狀,以指示一個(gè)漫長的操作,要求用戶應(yīng)該等待。 6.10.2 能夠用沙漏光標(biāo)指示短暫的等待。關(guān)于長時(shí)刻的等待,能夠考慮使用一個(gè)無模式對話框,并在
15、上面顯示簡短的消息,描述正進(jìn)行什么處理;6.11. 分隔線控件 6.11.1 為統(tǒng)一起見不要使用分組框、按鈕等控件做分隔線,應(yīng)按如下做法:用Picture Control,屬性設(shè)為Etched和Frame,使該控件縮小到一條直線;7. 其他7.1. 為保證系統(tǒng)間的兼容性,不使用int類型(因?yàn)椴煌到y(tǒng)之間的存儲(chǔ)字節(jié)長度往往不同),應(yīng)使用long或short型。7.2. 頭文件名應(yīng)小寫,如用#include“abcdef.h”;7.3. 本系統(tǒng)中注釋統(tǒng)一只用“/”;7.4 if(0 = GetDataType()比if(GetDataType() = 0) 好,縱使誤將=寫成=,在編譯一層就會(huì)報(bào)
16、錯(cuò)。7.5 函數(shù)定義short GetInputType( const char * lpzInput)比short GetInputType (char * lpzInput)好,以免lpzInput在函數(shù)體中被破壞。7.6 變量在定義時(shí)賦初值,類析構(gòu)時(shí)或程序退出時(shí)推斷釋放所有變量。7.7 編碼空間一定要充分預(yù)留,編碼時(shí)注意可擴(kuò)充性, 如:定義保留字段,供以后擴(kuò)充使用7.8 不要大量使用無符號型變量。無符號變量在推斷時(shí)易造成錯(cuò)誤,甚至死循環(huán),盡量少用。7.9 少使用malloc,free,realloc;多用new,delete;new,delete是規(guī)范的C+語法,通用性強(qiáng),realloc
17、易造成內(nèi)存抖動(dòng)。7.10 代碼中不要用+2,+4,要用+sizeof(short),+sizeof(int);不要用 filename40,而是filenameMAX_PATH。 附錄A 程序維護(hù)手冊格式講明文檔編號 版 本 號 密 級 文檔名稱 XXXX程序維護(hù)手冊項(xiàng)目編號: 項(xiàng)目名稱: 開發(fā)部門: 項(xiàng)目負(fù)責(zé)人: 編寫 年 月 日校對 年 月 日審核 年 月 日批準(zhǔn) 年 月 日程序維護(hù)手冊1引言11 編寫目的 闡明編寫維護(hù)手冊的目的,簡述其內(nèi)容。指出讀者對象(程序維護(hù)人員、研發(fā)人員)。12 開發(fā)單位 講明項(xiàng)目的提出者、項(xiàng)目的托付單位、開發(fā)單位和使用場所。13 定義 列出本文擋中用到的專業(yè)術(shù)語
18、的定義和縮寫詞的原文。14 參考資料 可包括:a.用戶操作手冊;b.于本項(xiàng)目有關(guān)的文檔。列出這些資料的作者、標(biāo)題、編號、發(fā)表日期、出版單位或資料來源以及保密級不。2 系統(tǒng)講明21 系統(tǒng)用途 講明系統(tǒng)具備的功能,輸入和輸出。22 安全保密 講明系統(tǒng)安全保密方面的考慮。23 總體講明 講明系統(tǒng)的總體功能、對子系統(tǒng)和作業(yè)作出綜合性的介紹,并用圖表方式給出系統(tǒng)要緊部分的內(nèi)部關(guān)系。24 程序講明 講明系統(tǒng)中每一程序、分程序的細(xì)節(jié)和特性。241 程序1的講明2411 功能 講明程序的功能。2412 方法 講明實(shí)現(xiàn)方法。2413 輸入 講明程序的輸入、媒體、運(yùn)行數(shù)據(jù)記錄、運(yùn)行開始時(shí)使用的輸入數(shù)據(jù)的類型和存放
19、單元、與程序初始化有關(guān)的入口要求。2414 處理 處理特點(diǎn)和目的,如:a. 用圖表講明程序的運(yùn)行的邏輯流程; b. 程序要緊轉(zhuǎn)移條件;c. 對程序的約束條件;d. 程序結(jié)束時(shí)的出口要求;e.與下一個(gè)程序的通信與聯(lián)結(jié)(運(yùn)行、操縱); f. 由該程序產(chǎn)生并供處理使用的輸出數(shù)據(jù)類型和存放單元。g.程序運(yùn)行所用存儲(chǔ)量、類型及存儲(chǔ)位置等。2415 輸出 程序的輸出。2416 接口 本程序與本系統(tǒng)其他部分的接口。2417 表格 講明程序內(nèi)部的各種表、項(xiàng)的細(xì)節(jié)和特性。對每張表的講明至少包括:a. 表的標(biāo)識符;b. 使用目的;c. 使用此表的其他程序;d. 邏輯劃分,如塊或部,不包括表項(xiàng);e. 表的差不多結(jié)構(gòu)
20、;f. 設(shè)計(jì)安排,包括表的操縱信息。表目結(jié)構(gòu)細(xì)節(jié)、使用中的特有性質(zhì)及各表項(xiàng)的標(biāo)識、位置、用途、類型、編碼表示。2418 特有的運(yùn)行性質(zhì) 講明在用戶操作手冊中沒有提到的運(yùn)行性質(zhì)。242 程序2 的講明 與程序1 的講明相同。以后其他各程序的講明相同。3 操作環(huán)境31 設(shè)備 逐步講明系統(tǒng)的設(shè)備配置極其特性 32 支持文件 列出系統(tǒng)使用的支持軟件、包括他們的名稱和版本號。33 數(shù)據(jù)庫 講明每個(gè)數(shù)據(jù)庫的性質(zhì)和內(nèi)容,包括安全考慮。331 總體特征 如:a. 標(biāo)識符 b. 使用這些數(shù)據(jù)庫的程序;c. 靜態(tài)數(shù)據(jù);d. 動(dòng)態(tài)數(shù)據(jù);e. 數(shù)據(jù)庫的存儲(chǔ)媒體;f. 程序使用數(shù)據(jù)庫的限制。332 結(jié)構(gòu)及詳細(xì)講明332
21、1 講明該數(shù)據(jù)庫的結(jié)構(gòu),包括其中的記錄和項(xiàng);3322 講明記錄的組成,包括首部或或操縱段、記錄體;3323 講明每個(gè)記錄結(jié)構(gòu)的字段,包括:標(biāo)記或標(biāo)號、字段的字符長度和位數(shù)該字段的同意值范圍。3324 擴(kuò)充:講明為記錄追加字段的規(guī)定;4 維護(hù)過程41 約定 列出該軟件系統(tǒng)設(shè)計(jì)中所使用全部規(guī)則和約定,包括:a. 程序、分程序、記錄、字段和存儲(chǔ)區(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ù)元素極其特征。42 驗(yàn)證過程 講明一個(gè)程序修改后,對其進(jìn)行驗(yàn)證的要求和過程(包括測試程序和數(shù)據(jù))及程
22、序周期性驗(yàn)證的過程。43 出錯(cuò)及糾正方法 列出出錯(cuò)狀態(tài)及其糾正方法。44 專門維護(hù)過程 講明文檔其他地點(diǎn)沒有提到的專門維護(hù)過程,如:a. 維護(hù)該軟件系統(tǒng)的輸入部分(如數(shù)據(jù)庫)的要求、過程和驗(yàn)證方法;b. 運(yùn)行程序庫維護(hù)系統(tǒng)所必須的要求、過程和驗(yàn)證方法;c. 對閏年、世紀(jì)變更所需要的臨時(shí)性修改等。45 專用維護(hù)程序 列出維護(hù)軟件系統(tǒng)使用的后備技術(shù)和專用程序(如文件恢復(fù)程序、淘汰過時(shí)文件的程序等)的目錄,并加以講明,內(nèi)容包括:a. 維護(hù)作業(yè)的輸入輸出要求;b. 輸入的詳細(xì)過程及硬件設(shè)備上建立、運(yùn)行并完成維護(hù)作業(yè)的操作步驟。46 程序清單和流程圖 引用資料或提供附錄給出程序清單和流程圖。附錄B 部分
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 社區(qū)環(huán)保項(xiàng)目的實(shí)施計(jì)劃
- 中班幼兒數(shù)學(xué)教案《小小設(shè)計(jì)師》
- 幼兒園大班工作總結(jié)五篇
- 2024年度金融機(jī)構(gòu)不可撤銷連帶責(zé)任擔(dān)保書3篇
- 公關(guān)行業(yè)美工公關(guān)活動(dòng)海報(bào)公關(guān)策略圖
- 招生方案范文7篇
- 中醫(yī)科護(hù)士的工作總結(jié)
- 預(yù)防科護(hù)士推廣疾病預(yù)防
- 2024全新車展活動(dòng)車輛展示區(qū)清潔維護(hù)合同3篇
- 2024醫(yī)院單位護(hù)士崗位聘用合同書3篇
- 大型能源集團(tuán)公司信息化規(guī)劃(二)數(shù)據(jù)架構(gòu)規(guī)劃課件
- 中國醫(yī)院質(zhì)量安全管理 第4-6部分:醫(yī)療管理 醫(yī)療安全(不良)事件管理 T∕CHAS 10-4-6-2018
- 2.秸稈和落葉的有效處理課件
- 教育中的心理效應(yīng)
- 提高玻璃幕墻擦窗機(jī)軌道安裝質(zhì)量
- T∕CEMIA 020-2019 顯示面板用N-甲基-2-吡咯烷酮
- 考古繪圖(課堂PPT)
- 注塑機(jī)冷卻水系統(tǒng)工程
- 工業(yè)管道材料選用規(guī)定
- PE管熱熔對接施工方案完整
- 中醫(yī)腫瘤臨床路徑
評論
0/150
提交評論