版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
軟件設(shè)計規(guī)范要求
XXX股份有限公司
20XX年XX月
軟件設(shè)計規(guī)范要求
目錄
1用戶界面設(shè)計規(guī)范.........................................................1
1.1界面設(shè)計介紹..........................................................1
1.1.1軟件啟動封面設(shè)計.............................................................................................................1
1.1.2軟件框架設(shè)計.....................................................................................................................2
1.1.3軟件按鈕設(shè)計.....................................................................................................................2
1.1.4軟件面板設(shè)計.....................................................................................................................2
1.1.5菜單設(shè)計..............................................................................................................................3
1.1.6標(biāo)簽設(shè)計..............................................................................................................................3
1.1.7圖標(biāo)設(shè)計..............................................................................................................................3
1.1.8滾動條及狀態(tài)欄設(shè)計........................................................................................................3
1.1.9安裝過程設(shè)計......................................................................................................................4
1.1.10包裝及商品化......................................................................................................................4
2界面設(shè)計原則............................................................1
2.1易用性................................................................1
2.2規(guī)范性................................................................2
2.3合理性................................................................3
2.4美觀與協(xié)調(diào)性..........................................................4
2.5界面一致性............................................................5
2.6用戶幫助..............................................................7
3編程規(guī)范總則............................................................1
XXXX股份有限公司1
軟件設(shè)計規(guī)范要求
3.1排版..................................................................1
3.2注釋..................................................................3
3.3標(biāo)識符命名............................................................5
3.4可讀性................................................................7
3.5變量與結(jié)構(gòu)............................................................7
3.6函數(shù)與過程............................................................9
3.7可測性...............................................................11
3.8程序效率.............................................................13
3.9質(zhì)量保證.............................................................14
3.10代碼編輯、編譯與審查.................................................16
3.11代碼測試與維護(hù).......................................................17
XXXX股份有限公司
軟件設(shè)計規(guī)范要求
1用戶界面設(shè)計規(guī)范
用戶界面:又稱人機(jī)界面,實(shí)現(xiàn)用戶與計算機(jī)之間的通信,
以控制計算機(jī)或進(jìn)行用戶與計算機(jī)之間的數(shù)據(jù)傳送的系統(tǒng)部件。
GLI:即圖形用戶界面,一種可視化的用戶界面,它使用圖形界
面代替正文界面。本系統(tǒng)堅持圖形用戶界面(GUI)設(shè)計原則,界
面直觀、對用戶透明。用戶接觸軟件后對界面上對應(yīng)的功能一目
了然、不需要多少培訓(xùn)就可以方便地使用本應(yīng)用系統(tǒng)。
1.1界面設(shè)計介紹
界面設(shè)計是為了滿足軟件專業(yè)化標(biāo)準(zhǔn)化的需求而產(chǎn)生的對
軟件的使用界面進(jìn)行美化優(yōu)化規(guī)范化的設(shè)計分支。
1.1.1軟件啟動封面設(shè)計
應(yīng)使軟件啟動封面最終為高清晰度的圖像,選用的色彩式宜
超過256色,大小多為主流顯示器分辨率的1/6大。啟動封面上
應(yīng)該醒目地標(biāo)注制作或支持的公司標(biāo)志、產(chǎn)品商標(biāo)、軟件名稱、
版本號、網(wǎng)址、版權(quán)聲明、序列號等信息,以樹立軟件形象,方
便使用者或購買者在軟件啟動的時候得到提示。插圖宜使用具有
獨(dú)立版權(quán)的、象征性強(qiáng)的、識別性高的、視覺傳達(dá)效果好的圖形,
若使用攝影也應(yīng)該進(jìn)行數(shù)位處理,以形成該軟件的個性化特征。
XXX股份有限公司1
軟件設(shè)計規(guī)范要求
如果是系列軟件還將考慮整體設(shè)計的統(tǒng)一和延續(xù)性。
1.1.2軟件框架設(shè)計
軟件的框架設(shè)計相對比較復(fù)雜,軟件框架設(shè)計應(yīng)該簡潔明快,
盡量少用無謂的裝飾,應(yīng)該考慮節(jié)省屏幕空間,各種分辨率的大
小,縮放時的狀態(tài)和原則,并且為將來設(shè)計的按鈕、菜單、標(biāo)簽、
滾動條及狀態(tài)欄預(yù)留位置。設(shè)計中將整體色彩組合進(jìn)行合理搭配,
將軟件商標(biāo)放在顯著位置,主菜單應(yīng)放在左邊或上邊,滾動條放
在右邊,狀態(tài)欄放在下邊,以符合視覺流程和用戶使用心理。
1.1.3軟件按鈕設(shè)計
軟件按鈕設(shè)計應(yīng)該具有交互性,即應(yīng)該有3到6種狀態(tài)效
果:點(diǎn)擊前鼠標(biāo)未放在上面時的狀態(tài);鼠標(biāo)放在上面但未點(diǎn)擊的
狀態(tài);點(diǎn)擊時狀態(tài);點(diǎn)擊后鼠標(biāo)未放在上面時的狀態(tài);不能點(diǎn)擊
時狀態(tài);獨(dú)立自動變化的狀態(tài)。按鈕應(yīng)具備簡潔的圖示效果,名
稱易懂,用詞準(zhǔn)確能望文知意最好,讓使用者產(chǎn)生功能關(guān)聯(lián)反應(yīng),
群組內(nèi)按鈕應(yīng)該風(fēng)格統(tǒng)一,功能差異大的按鈕應(yīng)該有所區(qū)別。
1.1.4軟件面板設(shè)計
軟件面板設(shè)計應(yīng)該具有縮放功能,面板應(yīng)該對功能區(qū)間劃分
清晰,應(yīng)該和對話框、彈出框等風(fēng)格匹配,盡量節(jié)省空間,切換
方便。
XXX股份有限公司2
軟件設(shè)計規(guī)范要求
1.1.5菜單設(shè)計
菜單設(shè)計一般有選中狀態(tài)和未選中狀態(tài),左邊應(yīng)為名稱,右
邊應(yīng)為快捷鍵。如果有下級菜單應(yīng)該有下級箭頭符號,不同功能
區(qū)間應(yīng)該用線條分割。對與進(jìn)行的操作無關(guān)的菜單要用屏蔽的方
式加以處理,如果采用動態(tài)加載方式,即只有需要的菜單才顯示
最好。主菜單的寬度要接近,字?jǐn)?shù)不應(yīng)多于四個,每個菜單的字
數(shù)能相同最好。主菜單數(shù)目不應(yīng)太多,最好為單排布置。
1.1.6標(biāo)簽設(shè)計
標(biāo)簽設(shè)計應(yīng)該注意轉(zhuǎn)角部分的變化,狀態(tài)可參考按鈕。
1.1.7圖標(biāo)設(shè)計
圖標(biāo)設(shè)計色彩不宜超過64色,大小為16x16,32x32兩種,
應(yīng)該加以著重考慮視覺沖擊力,它需要在很小的范圍表現(xiàn)出軟件
的內(nèi)涵,在設(shè)計時使用簡單的顏色,利用眼睛對色彩和網(wǎng)點(diǎn)的空
間混合效果,做出精彩圖標(biāo)。
1.1.8滾動條及狀態(tài)欄設(shè)計
滾動條主要是為了對區(qū)域性空間的固定大小中內(nèi)容量的變
換進(jìn)行設(shè)計,應(yīng)該有上下箭頭,滾動標(biāo)等,有些還有翻頁標(biāo)。狀
態(tài)欄是為了對軟件當(dāng)前狀態(tài)的顯示和提示。
XXX股份有限公司3
軟件設(shè)計規(guī)范要求
1.1.9安裝過程設(shè)計
安裝過程設(shè)計主要是將軟件安裝的過程進(jìn)行美化,包括對軟
件功能進(jìn)行圖示化。
1.1.10包裝及商品化
軟件產(chǎn)品的包裝應(yīng)該考慮保護(hù)好軟件產(chǎn)品,功能的宣傳融合
于美觀中,可以印刷部分產(chǎn)品介紹。
XXX股份有限公司4
軟件設(shè)計規(guī)范要求
2界面設(shè)計原則
2.1易用性
(1)完成相同或相近功能的按鈕用Frame框起來,常月按
鈕要支持快捷方式;
(2)完成同一功能或任務(wù)的元素放在集中位置,減少鼠標(biāo)
移動的距離;
(3)按功能將界面劃分局域塊,月Frame框括起來,并要
有功能說明或標(biāo)題;
(4)界面要支持鍵盤自動瀏覽按鈕功能,即按Tab鍵的自
動切換功能;
(5)同一界面上的控件數(shù)量最好人要超過10個,多于10
個,應(yīng)考慮使用分頁界面顯示;
(6)分頁界面要支持在頁面間的快捷切換,常用組合快捷
鍵CtrlTab;
(7)默認(rèn)按鈕要支持Enter及選擇操作,即按Enter后自
動執(zhí)行默認(rèn)按鈕對應(yīng)操作;
(8)可寫控件檢測到非法輸入后應(yīng)給出說明并能自動獲得
焦點(diǎn);
XXX股份有限公司1
軟件設(shè)計規(guī)范要求
(9)Tab鍵的順序與控件排列順序要一致,目前流行從上到
下、從左到右的方式;
(10)復(fù)選框和選項框要有默認(rèn)選項,按選擇機(jī)率的高低而
先后排列,并支持Tab選擇;
(11)界面空間較小時使用下拉框而不用選項框;
(12)選項數(shù)較少時使用選項框,相反使用下拉列表框;
(13)適當(dāng)使用相關(guān)的專業(yè)術(shù)語,提倡使用通用性字眼。
2.2規(guī)范性
通常界面設(shè)計都按Windows界面的規(guī)范來設(shè)計,即包含“菜
單條、工具欄、工具廂、狀態(tài)欄、滾動條、右鍵快捷菜單”的標(biāo)
準(zhǔn)格式。小型軟件一般不提供工具箱。
(1)菜單前的圖標(biāo)能直觀地代表要完成的操作,常用菜單
要有命令快捷方式;
(2)完成相同或相近功能的菜單用橫線隔開放在同一位置,
菜單深度一般要求最多控制在三層以內(nèi);
(3)相同或相近功能的工具欄放在一起,工具欄中的每一
個按鈕要有及時提示信息;
(4)系統(tǒng)常用的工具欄設(shè)置默認(rèn)放置位置,工具欄的圖標(biāo)
XXX股份有限公司2
軟件設(shè)計規(guī)范要求
能直觀地代表要完成的操作,一條工具欄的長度不能超出屏幕寬
度;
(5)工具欄太多時可以考慮使用工具廂;工具廂要具有可
增減性,由用戶自己根據(jù)需求定制,默認(rèn)總寬度不要超過屏幕寬
度的1/5;
(6)狀態(tài)條要能顯示用戶切實(shí)需要的信息,常用的有:目
前的操作、系統(tǒng)狀態(tài)、用戶位置、用戶信息、提示信息、錯誤信
息等,高度以放置五好字為宜;
(7)滾動條的長度要根據(jù)顯示信息的長度或?qū)挾饶芗皶r變
換,以利于用戶了解顯示信息的位置和百分比,并且寬度應(yīng)匕狀
態(tài)條的略窄;
(8)菜單和工具條要有清楚的界限,菜單要求凸出顯示,
這樣在移走工具條時仍有立體感;
(9)菜單和狀態(tài)條中通常使用五號字體。工具條一般/菜
單要寬,但不要寬得太多,否則看起來很不協(xié)調(diào);
(10)右鍵快捷菜單采用與菜單相同的準(zhǔn)則。
2.3合理性
屏幕對角線相交的位置是用戶直視的地方,正上方四分之一
處為易吸引用戶注意力的位置,在放置窗體時要注意利用這兩個
XXX股份有限公司3
軟件設(shè)計規(guī)范要求
位置。
(1)父窗體或主窗體的中心位置應(yīng)該在對角線焦點(diǎn)附近;
(2)子窗體位置應(yīng)該在主窗體的左上角或正中,多個子窗
體彈出時應(yīng)該依次向右下方偏移,以顯示出窗體標(biāo)題為宜;
(3)重要的命令按鈕與使用較頻繁的按鈕要放在界面上注
目的位置;
(4)與正在進(jìn)行的操作無關(guān)的按鈕應(yīng)該加以屏蔽(Windows
中用灰色顯示,沒法使用該按鈕);
(5)對可能造成數(shù)據(jù)無法恢復(fù)的操作必須提供確認(rèn)信息,
給用戶放棄選擇的機(jī)會。
2.4美觀與協(xié)調(diào)性
(1)按鈕大小基本相近,且與界面的大小、空間要協(xié)調(diào),忌
用太長的名稱;
(2)避免空曠的界面上放置很大的按鈕,放置完控件后界
面不應(yīng)有很大的空缺位置;
(3)前景與背景色搭配合理協(xié)調(diào),反差不宜太大,最好少
用深色,常用色考慮使用Windows界面色調(diào);
(4)界面風(fēng)格要保持一致,字的大小、顏色、字體要相同,
XXX股份有限公司4
軟件設(shè)計規(guī)范要求
除非是需要藝術(shù)處理或有特殊要求的地方;
(5)如果窗咻支持最小化、最大化或放大時,窗體上的控
件也要隨著窗體而縮放;
(6)對于含有按鈕的界面一般不應(yīng)該支持縮放,即右上角
只有關(guān)閉功能;
(7)通常父窗體支持縮放時,子窗體沒有必要縮放。
2.5界面一致性
在界面設(shè)計中應(yīng)該保持界面的一致性。一致性既包括使月標(biāo)
準(zhǔn)的控件,也指使用相同的信息表現(xiàn)方法,如在字體、標(biāo)簽風(fēng)格、
顏色、術(shù)語、顯示錯誤信息等方面確保一致。
(1)顯示信息一致性
①標(biāo)簽提示:字體為不加粗、宋體、黑色、灰底或透明、無
邊框、右對齊、不帶冒號、一般情況為五號;
②日期:正常字體、宋體、白底黑字;
③對齊方法
左對齊:一般文字、單個數(shù)字、日期等
右對齊:數(shù)字、時間、日期加時間
④分辨率
XXX股份有限公司5
軟件設(shè)計規(guī)范要求
800*600,增強(qiáng)色16色;
⑤字體缺省為宋體、五號、黑色;
⑥底色缺省為灰色。
這些信息的排列顯示風(fēng)格供參考,在同一軟件中應(yīng)當(dāng)注意
表現(xiàn)形式的一致性。
(2)布局合理化
應(yīng)注意在一個窗口內(nèi)部所有控件的布局和信息組織的藝術(shù)
性,使得用戶界面美觀。布局不宜過于密集,也不能過于空曠,
合理的利用空間。
在一個窗口中按tab鍵,移動順序不能雜亂無章,先從上至
下,再從左至右。一屏中首先應(yīng)輸入的和重要信息的控件在tab
順序中應(yīng)當(dāng)靠前,并放在窗口上較醒目的位置。布局力求簡潔、
有序、易于操作。
(3)鼠標(biāo)與鍵盤對應(yīng)
應(yīng)用中的功能只用鍵盤也應(yīng)當(dāng)可以完成,即設(shè)計的應(yīng)用中還
應(yīng)加入一些必要的按鈕和菜單項。但是,許多鼠標(biāo)的操作,如雙
擊、拖動對象等,并不能簡單地用鍵盤來模擬即可實(shí)現(xiàn)。例如在
一個列表框中用鼠標(biāo)單擊其中一項表示選中該項內(nèi)容,為了月鍵
盤也能實(shí)現(xiàn)這一功能,必須在窗口中定義一個表示選中的按鈕,
XXX股份有限公司6
軟件設(shè)計規(guī)范要求
以作為實(shí)現(xiàn)單擊功能的替。又如在一個窗口中有兩個數(shù)據(jù)窗口,
可以用鼠標(biāo)從一個數(shù)據(jù)窗口中將一項拖出然后放到另一個中,如
果只用鍵盤,就應(yīng)當(dāng)在菜單中設(shè)置拷貝或移動的菜單項。
2.6用戶幫助
系統(tǒng)應(yīng)該提供詳盡而可靠的幫助文檔,在用戶使用產(chǎn)生迷惑
時可以自己尋求解決方法。常用的幫助設(shè)施有兩種:集成的和附
加的。集成的幫助設(shè)施一開始就是設(shè)計在軟件中的,它與語境有
關(guān),用戶可以直接選擇與所要執(zhí)行操作相關(guān)的主題。通過集成幫
助設(shè)施可以縮短用戶獲得幫助的時間,增加界面的友好性,附加
的幫助設(shè)施在系統(tǒng)建好以后再加進(jìn)去,通常是一種查詢能力比較
弱的聯(lián)機(jī)幫助。
(1)幫助文檔中的性能介紹與說明要和系統(tǒng)性能配套一致;
(2)最好提供目前流行的聯(lián)機(jī)幫助格式或HTML幫助格式;
(3)在幫助中應(yīng)該提供我們的技術(shù)支持方式,一旦用戶難
以自己解決可以方便地尋求新的幫助方式。
XXX股份有限公司7
軟件設(shè)計規(guī)范要求
3編程規(guī)范總則
3.1排版
(1)程序塊要采用縮進(jìn)風(fēng)格編寫,縮進(jìn)的空格數(shù)為4個,
對于由開發(fā)工具自動生成的代碼可以不一致;
(2)相對獨(dú)立的程序塊之間、變量說明之后必須加空行;
(3)較長的語句要分成多行書寫,長表達(dá)式要在低優(yōu)先級
操作符處劃分新行操作符放在新行之首,劃分出的新行要進(jìn)行適
當(dāng)?shù)目s進(jìn),使排版整齊,語句可讀;
(4)循環(huán)、判斷等語句中若有較長的表達(dá)式或語句,則要
進(jìn)行適應(yīng)的劃分,同3);
(5)若函數(shù)或過程中的參數(shù)較長,也要進(jìn)行適當(dāng)?shù)膭澐郑?/p>
(6)不允許把多個短語句寫在一行中,即一行只寫一條語
句;
(7)if、for、do、while>case、switch、default等語句
自占一行,且if、for、do、while等語句的執(zhí)行語句部分無論
多少都要加括號{};
(8)對齊只使用空格鍵,不使用TAB鍵;
XXX股份有限公司1
軟件設(shè)計規(guī)范要求
(9)函數(shù)或過程的開始、結(jié)構(gòu)的定義及循環(huán)、判斷等語句
中的代碼都要采用縮進(jìn)風(fēng)格,case語句下的處理語句也要遵從
語句縮進(jìn)要求;
(10)程序塊的分界符(如大括號'{‘和'}')應(yīng)各獨(dú)占一
行并且位于同一列,同時與引用它們的語句左對齊。在函數(shù)體的
開始定義、類的定義、結(jié)構(gòu)的定義、枚舉的定義以及if、for、
do、while、switch、case語句中的程序都要采用如上的縮進(jìn)方
式;
(11)在兩個以上的關(guān)鍵字、變量、常量進(jìn)行對等操作時,
它們之間的操作符之前、之后或者前后要加空格,但不要連續(xù)留
兩個以上空格。進(jìn)行非對等操作時,如果是關(guān)系密切的操作符(如
->)后不應(yīng)加空格。采用這種松散方式編寫代碼的目的是使代
碼更加清晰,在已經(jīng)非常清晰的語句中沒有必要再留空格。如果
語句已足夠清晰,則括號內(nèi)側(cè)(即左括號后面和右括號前面)刀需
要加空格,多重括號間也不必加空格。在長語句中,如果需要加
的空格非常多,那么應(yīng)該保持整體清晰,而在局部不加空格。
1)逗號、分號只在后面加空格。inta,b,c;
2)比較操作符、賦值操作符、算術(shù)操作符、邏輯操作符、位
操作符等雙目操作符的前后加空格。
a=bc;
xxx股份有限公司2
軟件設(shè)計規(guī)范要求
a*=2;
a=b2;
3)“!“、八”、””、"一“、"&”(地址運(yùn)算符)等單目操作符
前后不加空格。
flag=!isFull;
p=&com;
*
1;
4)”."前后不加空格。
5)if、for、while>switch等與后面的括號間應(yīng)加空格,
使if等關(guān)鍵字更為突出、明顯。
if(a>=b&&c>d)
(12)一行程序以小于80字符為宜,不要寫得過長。
3.2注釋
注釋應(yīng)該說明代碼的目的,要講清為什么要那么做,而不是
怎么去做。
(1)一般情況下,源程序有效注釋量必須在20%以上。注
釋的原則是有助于對程序的閱讀理解,在該加的地方都加,注釋
不宜太多也不能太少,注釋語言必須準(zhǔn)確、易懂、簡潔;
XXX股份有限公司3
軟件設(shè)計規(guī)范要求
(2)注釋格式盡量統(tǒng)一,建議使月“/*……*/”;
(3)說明性文件(如頭文件.h文件、.inc文件等)頭部應(yīng)
進(jìn)行注釋,注釋必須列出:版權(quán)說明、版本號、生成日期、作者、
內(nèi)容、功能、與其它文件的關(guān)系等,頭文件的注釋中還應(yīng)有函數(shù)
功能簡要說明;
(4)源文件頭部應(yīng)進(jìn)行注釋,列出:版權(quán)說明、版本號、生
成日期、作者、模塊功能、主要函數(shù)及其功能等;
(5)函數(shù)頭部應(yīng)進(jìn)行注釋,列出:函數(shù)功能、輸入?yún)?shù)、輸
出參數(shù)、返回值等;
(6)邊寫代碼邊注釋,修改代碼同時修改相應(yīng)的注釋,以
保證注釋與代碼的一致性;
(7)避免在注釋中使用縮寫,特別是非常用的縮寫。如無
法避免,應(yīng)對縮寫進(jìn)行必要的說明;
(8)注釋應(yīng)與其描述的代碼相近,對代碼的注釋應(yīng)放在其
上方或右方(對單條語句的注釋)相鄰位置,如放于上方則需與
其上面的代碼用空行隔開;
(9)變量、常量、宏的注釋有時也是必須的,應(yīng)放在其上方
相鄰位置或右方;
(10)數(shù)據(jù)結(jié)構(gòu)聲明(包括數(shù)組、結(jié)構(gòu)、類、枚舉等),如果
XXX股份有限公司4
軟件設(shè)計規(guī)范要求
其命名不是充分自注釋的,必須加以注釋。對數(shù)據(jù)結(jié)構(gòu)的注釋應(yīng)
放在其上方相鄰位置,對結(jié)構(gòu)中的每個域的注釋放在此域的右方;
(11)全局變量要有較詳細(xì)的注釋,包括對其功能、取值范
圍、哪些函數(shù)或過程存取它以及存取時注意事項等的說明;
(12)將注釋與其上面的代碼用空行隔開,注釋與所描述內(nèi)
容進(jìn)行同樣的縮排;
(13)對變量的定義和分支語句(條件分支、循環(huán)語句等)
必須編寫注釋。這些語句往往是程序?qū)崿F(xiàn)某一特定功能的關(guān)鍵,
對于維護(hù)人員來說,良好的注釋幫助更好地理解程序,有時甚至
優(yōu)于看設(shè)計文檔;
(14)通過對函數(shù)或過程、變量、結(jié)構(gòu)等正確的命名以及合
理地組織代碼的結(jié)構(gòu),使代碼成為自注釋的,減少不必要的注釋;
(15)當(dāng)代碼段較長,特別是多重嵌套時,在程序塊的結(jié)束
行右方加注釋標(biāo)記,以表明某程序塊的結(jié)束;
(16)建議注釋多使用中文,除非能用非常流利準(zhǔn)確的英文
表達(dá)。
3.3標(biāo)識符命名
(1)標(biāo)識符的命名要清晰明了,有明確含義,同時使月完
整的單詞或大家基本可以理解的縮寫,避免使人產(chǎn)生誤解。較長
XXX股份有限公司5
軟件設(shè)計規(guī)范要求
的單詞可取單詞的頭幾個字母形成縮寫,一些單詞有大家公認(rèn)的
縮寫;
(2)命名中若使用特殊約定或縮寫,應(yīng)該在源文件的開始
之處,進(jìn)行必要的注釋說明;
(3)命名風(fēng)珞要自始至終保持一致;
(4)對于變量命名,禁止取單個字符(如i、j、k.單
個字符容易敲錯,且編譯時又不易檢查出來。建議除了要有具體
含義外,還能表明其變量類型、數(shù)據(jù)類型等,但i、j、k作局部
循環(huán)變量是可以的;
(5)命名規(guī)范必須與所使用的系統(tǒng)風(fēng)格保持一致,并在同
一項目中統(tǒng)一。除非必要,不要用數(shù)字或較奇怪的字符來定義標(biāo)
識符;
(6)在同一軟件產(chǎn)品內(nèi),應(yīng)規(guī)劃好接口部分標(biāo)識符(變量、
結(jié)構(gòu)、函數(shù)及常量)的命名,防止編譯、鏈接時產(chǎn)生沖突;
(7)用正確的反義詞組命名具有互斥意義的變量或相反動
作的函數(shù)等;下面是一些在軟件中常用的反義詞組:
add/removebegin/endcreate/destroy
insert/deleteadd/deleteget/release
increment/decrementput/get
xxx股份有限公司6
軟件設(shè)計規(guī)范要求
lock/unlockopen/closefirst/last
min/maxold/newstart/stop
next/previoussend/receiveshow/hide
source/targetsource/destination
cut/pasteup/down
(8)除了特殊應(yīng)用,應(yīng)避免使用以下劃線開始和結(jié)尾的定
義。
3.4可讀性
(1)注意運(yùn)算符的優(yōu)先級,并用括號明確表達(dá)式的操作順
序,避免使用默認(rèn)優(yōu)先級;
(2)避免使用不易理解的數(shù)字,月有意義的標(biāo)識來替代;
(3)源程序中關(guān)系較為緊密的代碼應(yīng)盡可能相鄰,便于程
序閱讀和查找;
(4)不要使用難懂的技巧性很高的語句,除非很有必要時。
程序的高效率并不等同于語句的高技巧,而在于算法。
3.5變量與結(jié)構(gòu)
(1)去掉沒必要的公共變量,以降低模塊間的耦合度;
XXX股份有限公司7
軟件設(shè)計規(guī)范要求
(2)仔細(xì)定義并明確公共變量的含義、作用、取值范圍及
公共變量間的關(guān)系;
(3)明確公共變量與操作此公共變量的函數(shù)或過程的關(guān)系,
如訪問、修改及創(chuàng)建等。這種關(guān)系的說明可在注釋或文檔中描述;
(4)當(dāng)向公共變量傳遞數(shù)據(jù)時,要十分小心,防止賦與不
合理的值或越界等現(xiàn)象發(fā)生。若有必要應(yīng)進(jìn)行合法性檢查,以提
高代碼的可靠性、穩(wěn)定性;
(5)構(gòu)造僅有一個模塊或函數(shù)可以修改、創(chuàng)建,而其余有
關(guān)模塊或函數(shù)只訪問的公共變量,防止多個不同模塊或函數(shù)都可
以修改、創(chuàng)建同一公共變量的現(xiàn)象;
(6)使用嚴(yán)格形式定義的、可移植的標(biāo)準(zhǔn)數(shù)據(jù)類型,盡量
不要使用與具體硬件或軟件環(huán)境關(guān)系密切的變量;
(7)結(jié)構(gòu)的功能要單一,是針對一種事務(wù)的抽象。結(jié)構(gòu)中
的各元素應(yīng)代表同一事務(wù)的不同側(cè)面,而不應(yīng)把描述沒有關(guān)系或
關(guān)系很弱的不同事務(wù)的元素放到同一結(jié)構(gòu)中;
(8)不同結(jié)構(gòu)間的關(guān)系不要過于復(fù)雜,否則應(yīng)合為一個結(jié)
構(gòu);
(9)仔細(xì)設(shè)計結(jié)構(gòu)中元素的布局與排列順序,使結(jié)構(gòu)容易
理解、節(jié)省占用空間,并減少引起誤用的現(xiàn)象;
XXX股份有限公司8
軟件設(shè)計規(guī)范要求
(10)結(jié)構(gòu)的設(shè)計要盡量考慮向前兼容和以后的版本升級,
并為某些未來可能的應(yīng)用保留余地;
(11)留心具體語言及編譯器處理不同數(shù)據(jù)類型的原則及有
關(guān)細(xì)節(jié);
(12)編程時,要注意數(shù)據(jù)類型的強(qiáng)制轉(zhuǎn)換。對編譯系統(tǒng)默
認(rèn)的數(shù)據(jù)類型轉(zhuǎn)換要有充分的認(rèn)識,盡量減少沒有必要的數(shù)據(jù)類
型默認(rèn)轉(zhuǎn)換與強(qiáng)制轉(zhuǎn)換,合理地設(shè)計數(shù)據(jù)并使用自定義數(shù)據(jù)類型,
避免數(shù)據(jù)間進(jìn)行不必要的類型轉(zhuǎn)換;
(13)對自定義數(shù)據(jù)類型進(jìn)行恰當(dāng)命名,使它成為自描述性
的,以提高代碼可讀性,但要注意其命名方式在同一產(chǎn)品中的統(tǒng)
O
3.6函數(shù)與過程
1)設(shè)計高扇入、合理扇出(小于7)的函數(shù)。較良好的軟件
結(jié)構(gòu)通常是頂層函數(shù)的扇出較高,中層函數(shù)的扇出較少,而底層
函數(shù)則扇入到公共模塊中;
(2)函數(shù)的規(guī)模盡量限制在200行以內(nèi),不包括注釋和空
格行;
(3)對所調(diào)用函數(shù)的錯誤返回碼要仔細(xì)、全面地處理;
(4)在同一項目組應(yīng)明確規(guī)定對接口函數(shù)參數(shù)的合法性檢
XXX股份有限公司9
軟件設(shè)計規(guī)范要求
查應(yīng)由函數(shù)的調(diào)用者負(fù)責(zé)還是由接口函數(shù)本身負(fù)責(zé),缺省是由函
數(shù)調(diào)用者負(fù)責(zé);
(5)防止將函數(shù)的參數(shù)作為工作變量。對必須改變的參數(shù),
最好先用局部變量代之,再將該局部變量的內(nèi)容賦給該參數(shù);
(6)一個函數(shù)僅完成一件功能,不要設(shè)計多用途的函數(shù)。
函數(shù)名應(yīng)準(zhǔn)確描述函數(shù)的功能;
(7)函數(shù)的功能應(yīng)該是可以預(yù)測的,也就是說只要輸入數(shù)
據(jù)相同就應(yīng)產(chǎn)生同樣的輸出;
(8)避免設(shè)計多參數(shù)函數(shù),不使用的參數(shù)從接口中去掉,
減少函數(shù)間接口的復(fù)雜度;
(9)非調(diào)度函數(shù)應(yīng)減少或防止控制參數(shù),盡量只使用數(shù)據(jù)
參數(shù),防止函數(shù)間的控制耦合;
(10)檢查函數(shù)所有參數(shù)輸入與非參數(shù)輸入的有效性;
(11)在編程時,經(jīng)常遇到在不同函數(shù)中使用相同的代碼,
許多開發(fā)人員都愿把這些代碼提出來,并構(gòu)成一個新函數(shù)。若這
些代碼關(guān)聯(lián)較大并且是完成一個功能的,那么這種構(gòu)造是合理的,
否則這種構(gòu)造將產(chǎn)生隨機(jī)內(nèi)聚的函數(shù);
(12)功能不明確且較小的函數(shù),特別是僅有一個上級函數(shù)
調(diào)用它時,應(yīng)考慮把它合并到上級函數(shù)中,而不必單獨(dú)存在;
XXX股份有限公司10
軟件設(shè)計規(guī)范要求
(13)減少函數(shù)本身或函數(shù)間的遞歸調(diào)用。除非為某些算法
或功能的實(shí)現(xiàn)方便,應(yīng)減少沒必要的遞歸調(diào)用;
(14)仔細(xì)分析模塊的功能及性能需求,并進(jìn)一步細(xì)分,若
有必要畫出有關(guān)數(shù)據(jù)流圖,據(jù)此來進(jìn)行模塊的函數(shù)劃分與組織;
(15)對于提供了返回值的函數(shù),在引用時最好使用其返回
值;
(16)當(dāng)一個過程(函數(shù))中對較長變量(一般是結(jié)構(gòu)的成
員)有較多引用時,可以用一個意義相當(dāng)?shù)暮甏妗?/p>
3.7可測性
(1)在同一項目組或產(chǎn)品組內(nèi),要有一套統(tǒng)一的為集成測
試與系統(tǒng)聯(lián)調(diào)準(zhǔn)備的調(diào)測開關(guān)及相應(yīng)打印函數(shù),并且要有詳細(xì)的
說明;
(2)在同一項目組或產(chǎn)品組內(nèi),調(diào)測打印出的信息串的格
式要有統(tǒng)一的形式。信息串中至少要有所在模塊名(或源文件名)
及行號;
(3)編程的同時要為單元測試選擇恰當(dāng)?shù)臏y試點(diǎn),并仔細(xì)
構(gòu)造測試代碼、測試用例,同時給出明確的注釋說明。測試代碼
部分應(yīng)作為(模塊中的)一個子模塊,以方便測試代碼在模塊中
的安裝與拆卸(通過調(diào)測開關(guān));
XXX股份有限公司11
軟件設(shè)計規(guī)范要求
(4)使用斷言來發(fā)現(xiàn)軟件問題,提高代碼可測性。用斷言
來檢查程序正常運(yùn)行時不應(yīng)發(fā)生但在調(diào)測時有可能發(fā)生的非法
情況,但不能用斷言來檢查最終產(chǎn)品肯定會出現(xiàn)且必須處理的錯
誤情況;
(5)對較復(fù)雜的斷言加上明確的注釋,用斷言確認(rèn)函數(shù)的
參數(shù),保證沒有定義的特性或功能不被使用,對程序開發(fā)環(huán)境的
假設(shè)進(jìn)行檢查;
(6)正式軟件產(chǎn)品中應(yīng)把斷言及其它調(diào)測代碼去掉(即把
有關(guān)的調(diào)測開關(guān)關(guān)掉),以加快軟件運(yùn)行速度;
(7)在軟件系統(tǒng)中設(shè)置與取消有關(guān)測試手段,不能對軟件
實(shí)現(xiàn)的功能等產(chǎn)生影響;
(8)用調(diào)測開關(guān)來切換軟件的DEBUG版和正式版,而入要
同時存在正式版本和DEBUG版本的不同源文件,以減少維護(hù)的
難度;
(9)軟件的DEBUG版本和發(fā)行版本應(yīng)該統(tǒng)一維護(hù),不允許
分家,并且要時刻注意保證兩個版本在實(shí)現(xiàn)功能上的一致性;
(10)在編寫代碼之前,應(yīng)預(yù)先設(shè)計好程序調(diào)試與測試的方
法和手段,并設(shè)計好各種調(diào)測開關(guān)及相應(yīng)測試代碼如打印函數(shù)等;
(11)調(diào)測開關(guān)應(yīng)分為不同級別和類型。針對模塊或系統(tǒng)某
XXX股份有限公司12
軟件設(shè)計規(guī)范要求
部分代碼的調(diào)測,針對模塊或系統(tǒng)某功能的調(diào)測,對性能、容量
等的測試;
(12)編寫防錯程序,然后在處理錯誤之后可用斷言宣布發(fā)
生錯誤。
3.8程序效率
(1)在保證軟件系統(tǒng)的正確性、穩(wěn)定性、可讀性及可測性
的前提下提高代碼效率,包括全局效率、局部效率、時間效率及
空間效率;
(2)局部效率應(yīng)為全局效率服務(wù),不能因?yàn)樘岣呔植啃?/p>
而對全局效率造成影響;
(3)通過對系統(tǒng)數(shù)據(jù)結(jié)構(gòu)的劃分與組織的改進(jìn),以及對程
序算法的優(yōu)化來提高空間效率;
(4)仔細(xì)考慮循環(huán)體內(nèi)的語句是否可以放在循環(huán)體之外,
使循環(huán)體內(nèi)工作量最小,從而提高程序的時間效率;
(5)仔細(xì)考查、分析系統(tǒng)及模塊處理輸入(如事務(wù)、消息
等)的方式,并加以改進(jìn);
(6)對模塊中函數(shù)的劃分及組織方式進(jìn)行分析、優(yōu)化,改
進(jìn)模塊中函數(shù)的組織結(jié)構(gòu),提高程序效率;
XXX股份有限公司13
軟件設(shè)計規(guī)范要求
(7)不應(yīng)花過多的時間拼命地提高調(diào)用不很頻繁的函數(shù)代
碼的效率;
(8)仔細(xì)地構(gòu)造或直接用匯編編寫調(diào)用頻繁或性能要求極
高的函數(shù)。嵌入?yún)R編可提高時間及空間效率,但也存在一定風(fēng)險;
(9)在保證程序質(zhì)量的前提下,通過壓縮代碼量、去掉不
必要代碼以及減少不必要的局部和全局變量,來提高空間效率;
(10)盡量減少循環(huán)嵌套層次。在多重循環(huán)中,應(yīng)將最忙的
循環(huán)放在最內(nèi)層,以減少CPU切入循環(huán)層的次數(shù);
(11)避免循環(huán)體內(nèi)含判斷語句,應(yīng)將循環(huán)語句置于判斷語
句的代碼塊之中;
(12)盡量用乘法或其它方法代替除法,特別是浮點(diǎn)運(yùn)算中
的除法;
(13)不要一味地追求緊湊的代碼,因?yàn)榫o湊的代碼并不代
表高效的機(jī)器碼。
3.9質(zhì)量保證
(1)在軟件設(shè)計過程中構(gòu)筑軟件質(zhì)量;
(2)代碼質(zhì)量保證優(yōu)先原則
1)正確性,指程序要實(shí)現(xiàn)設(shè)計要求的功能;
XXX股份有限公司14
軟件設(shè)計規(guī)范要求
2)穩(wěn)定性/安全性,指程序穩(wěn)定、可靠、安全;
3)可測試性,指程序要具有良好的可測試性;
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 郵政系統(tǒng)司務(wù)公開制度
- 云南移動ai面試題目及答案
- 網(wǎng)絡(luò)安全防護(hù)措施及應(yīng)急處理方法
- 超聲科預(yù)約制度
- 診所醫(yī)療安全制度
- 設(shè)備的維護(hù)制度和質(zhì)量檢查制度
- 規(guī)模以上工業(yè)統(tǒng)計報表制度
- 2025年西咸新區(qū)學(xué)校教師筆試及答案
- 2025年國際酒店筆試題庫及答案
- 2025年幼教教編筆試及答案
- 體檢中心工作總結(jié)10
- 股權(quán)轉(zhuǎn)讓法律意見書撰寫范本模板
- 裝修工程監(jiān)理工作總結(jié)
- 農(nóng)戶分戶協(xié)議書模板
- 修建羊舍合同(標(biāo)準(zhǔn)版)
- 北京市5年(2021-2025)高考物理真題分類匯編:專題15 實(shí)驗(yàn)(原卷版)
- 2025湖南郴州市百福投資集團(tuán)有限公司招聘工作人員8人筆試題庫歷年考點(diǎn)版附帶答案詳解
- 5年(2021-2025)高考1年模擬歷史真題分類匯編選擇題專題01 中國古代的政治制度演進(jìn)(重慶專用)(原卷版)
- 浙教版初中科學(xué)復(fù)習(xí)課《杠桿與滑輪專題》共24張課件
- 中國銅板帶行業(yè)分析報告:進(jìn)出口貿(mào)易、行業(yè)現(xiàn)狀、前景研究(智研咨詢發(fā)布)
- 農(nóng)村組長管理辦法
評論
0/150
提交評論