




已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
軟件開發(fā)編程規(guī)則2008.8軟件開發(fā)編程規(guī)則1慨述為了規(guī)范軟件開發(fā),提高程序的編寫質(zhì)量和可讀性、可維護性,特編制本編程規(guī)則。所有編程人員必須執(zhí)行此規(guī)則,系統(tǒng)設(shè)計師對程序員有指導(dǎo)、監(jiān)督、審查責(zé)任。2編程規(guī)則21總則用戶界面,做到藝術(shù)化、人性化。整體風(fēng)格應(yīng)該是簡潔、穩(wěn)重。程序模塊功能單一化。盡量避免采用非標(biāo)準(zhǔn)的或者第三方的ActiveX控件。數(shù)據(jù)庫接口用ADO。22用戶界面控制窗體應(yīng)該采用Windows標(biāo)準(zhǔn)形式,多窗口顯示,主窗體要有菜單欄、工具欄、狀態(tài)欄。對話窗體的布局要按功能區(qū)分布,盡量采用圖示化來表示對象。顏色的基調(diào)是灰白、白和黑,慎用彩色的背景。字體的大小一般應(yīng)為小5號和9磅,主要功能按鈕的名稱應(yīng)該采取“確認”、“放棄”、“撤消”、“退出”。窗體尺寸特別大的,在屏幕的分辨率比較小時應(yīng)該自動匹配窗體尺寸大小。23編程231命名基本上引用“匈牙利命名法”,參見附錄。 子程序和函數(shù)名應(yīng)該體現(xiàn)所要完成的功能,用下劃線連接功能名稱。比如:Line_CreateBy_P1P2表示由二個點生成一條直線, 對象名應(yīng)該由二部分組成。前綴是對象的性質(zhì)縮寫(一般為三個小寫字符),后面是對象的名稱。比如:cnnPipe表示管路數(shù)據(jù)庫的連接,rstPipe表示管路數(shù)據(jù)庫表。其中:cnn表示數(shù)據(jù)庫連接對象,rst表示數(shù)據(jù)庫表對象,Pipe是具體的對象名稱。前綴除以上二個外,還有以下的命名約定:cnn表示數(shù)據(jù)庫連接對象rst表示數(shù)據(jù)庫表對象frm表示窗體。cmd表示命令按鈕。cur表示當(dāng)前使用的。tmp表示臨時的。col表示集合。obj表示對象。exl 表示Excel.Application.cad表示AUTOCAD.Application。sod表示三維實體。lin表示線條。dim表示標(biāo)注。sel表示選擇集。 變量名應(yīng)該采用顯示說明,也即使用As Variant對變量進行聲明。變量名應(yīng)該專業(yè)化,如果有沖突,應(yīng)該使用前綴。前綴有以下的命名約定:str表示字符串。cmm表示數(shù)據(jù)庫操作命令。hull表示船體。pipe表示管路。duct表示螺旋風(fēng)管。elec表示電氣。vent表示方風(fēng)管。stru表示鋼結(jié)構(gòu)(鐵舾裝)。eqp表示設(shè)備。comp表示部件。stan表示支架。paint表示涂裝。cabin表示居裝(艙室)。數(shù)據(jù)庫表名應(yīng)該采用專業(yè)術(shù)語,表分二類,第一類是通用的全船適用的或者基礎(chǔ)性的表,第二類是各專業(yè)用的表,它們的命名規(guī)則分別是:第一類表的表名沒有前后綴;第二類表的命名規(guī)則是帶前綴,前綴由一個專業(yè)代碼和分割符“_”組成,例如(e_System)。專業(yè)代碼如下:e代表電氣。g代表總體。h代表船體。p代表管系。v代表通風(fēng)。s代表鋼結(jié)構(gòu)(鐵舾裝)。c代表居裝(艙室)。o代表涂裝。232形式參數(shù)子程序和函數(shù)的形式參數(shù)應(yīng)該聲明類型。比如:Sub Line_CreateBy_P1P2(P1 As XyzType, P2 As XyzType, LineObj As AcadLine, Doc As AcadDocument, Block As AcadBlock, ByVal ToWhich$)注意,ByVal聲明的參數(shù),一般僅作為輸入值,不要出現(xiàn)在等號的左面。233定制類每個產(chǎn)品就是一個定制類。定制類的層次盡量扁平化。產(chǎn)品通過類的對象存取屬性和顯示模型。定制類必須具有以下屬性和方法: 屬性Count計數(shù)。Item()對象數(shù)組。Item可以是對象名。 方法Find查找定位。Delete刪除。AddNew增加。Save保存。Search檢索。Draw_2D二維顯示。Draw_3D三維顯示。234注釋對子程序和函數(shù)的功能和形式參數(shù)必須寫注釋。重要的變量必須寫注釋。235 ACAD的圖層ACAD的圖層反映了不同專業(yè)模型和處理對象。專業(yè)模型是指作用于整個船舶模型的,任何程序模塊都能參考的,可以獲取基本信息但是不能修改的三維實體。處理對象是指本專業(yè)程序模塊要處理的對象,它們可由程序模塊任意處理。 專業(yè)三維模型圖層Pipe管系Duct螺旋風(fēng)管Vent方風(fēng)管WaySolid電纜托架WaySupport電纜托架腳EquipSolid設(shè)備FittingSolid舾裝件HullSolid船體Temp臨時的,比如臨時隱藏的對象。 專業(yè)對象圖層PipeSolid管系的管路三維實體PipeLine管系的管路線條PipeAttf管系的管路連接件和附件PipeStand管系的管路支架DuctSolid螺旋風(fēng)管的管路實體DuctLine螺旋風(fēng)管的管路線條DuctAtt螺旋風(fēng)管附件VentSolid方風(fēng)管的管路實體VentLine方風(fēng)管的管路線條VentStand方風(fēng)管的管路支架WayLine電纜通道線條WayBase電氣設(shè)備底座PipeDim管系信息標(biāo)注DuctDim螺旋風(fēng)管信息標(biāo)注ElecDim電氣信息標(biāo)注VentDim方風(fēng)管信息標(biāo)注EquipDim設(shè)備信息標(biāo)注236 ACAD對象的擴展數(shù)據(jù)(XDATA)ACAD對象的擴展數(shù)據(jù)(XDATA)反映了產(chǎn)品對象的屬性。在三維模型中,每個對象都應(yīng)該帶有XDATA擴展數(shù)據(jù)。 XDATA數(shù)據(jù)規(guī)則XdataType(0)=1001XdataType(1n)=1000XdataValue(0)=專業(yè)名稱 +“-”+產(chǎn)品名,方括號中的內(nèi)容可選。XdataValue(1)= 產(chǎn)品名XdataValue(2n)=屬性值特別注意:產(chǎn)品名中不要出現(xiàn)“/”、“=”之類的字母。 專業(yè)名稱的約定:專業(yè)名稱一般由二部分組成,第一部分是主專業(yè)名稱,應(yīng)該完整表達專業(yè)性質(zhì);第二部分是具體的專業(yè)對象,可以是縮寫。二個部分直接連寫,每個部分的第一個字母為大寫。PipeDiagram管系原理圖PipeWay管系的管路線條PipeSolid管系的管路實體PipeAttf管系的連接件、附件PipeStand管系的管路支架DuctWay螺旋風(fēng)管的管路線條DuctSolid螺旋風(fēng)管的管路實體DuctAttf螺旋風(fēng)管附件VentWay方風(fēng)管的管路線條VentSolid方風(fēng)管的管路實體VentAttf方風(fēng)管附件VentStand方風(fēng)管的管路支架ElecDiagram電氣系統(tǒng)圖CableWay電纜通道線條WaySolid電纜托架CableSolid-Pena電纜電纜框EquipSolid設(shè)備實體FittingSolid舾裝件實體MasterShipMasterShip系統(tǒng)的船體結(jié)構(gòu)Hull船體結(jié)構(gòu)237 ACAD的線條線條的形式約定。Public Const Line_Solid = 0 直線Public Const Line_Dash = 1 虛線Public Const Line_DashDot = 2 點劃線Public Const Line_DashDotDot = 3 雙點劃線Public Const Line_Trajectory = 4 軌道線Public Const Line_SolidSolid = 5 雙線Public Const Line_SolidDash = 6 一直一虛線238 ACAD的顏色顏色分為三種狀態(tài)。第一,在三維建模形態(tài)下本專業(yè)的對象的顏色;第二,在瀏覽形態(tài)或者作為其他專業(yè)的背景時的顏色;第三,在輸出二維圖紙的形態(tài)下的線條的顏色,它們還起到了線條的寬度的作用。前二種形態(tài),系統(tǒng)通過用戶界面,由用戶決定。本規(guī)則對第三種形態(tài)作約定,當(dāng)然,系統(tǒng)也應(yīng)該可以讓用戶修改系統(tǒng)的約定。顏色的值是ACAD的顏色的index值,其中值從1到7應(yīng)該選用ACAD的顏色常數(shù),也是輸出二維圖紙的形態(tài)下的線條的顏色,一般情況下不考慮選用其他顏色。線條的顏色和寬度約定。acRed線寬=acYellow線寬= acGreen線寬=acCyan線寬=acBlue線寬=acMagenta線寬=acWhite線寬=239其他 標(biāo)準(zhǔn)的Excel連接方式: On Error Resume Next 查找一個正在運行的 Excel 拷貝 Set exlApp = GetObject(Excel.Application) 如果 Excel 沒有運行則 If err.Number 0 Then 運行它 Set exlApp = CreateObject(Excel.Application) End If 清除發(fā)生錯誤的 Err 對象err.Clear 標(biāo)準(zhǔn)的AUTOCAD連接方式: On Error Resume Next 查找一個正在運行的 AUTOCAD拷貝 Set cadApp = GetObject(,AUTOCAD.Application) 如果 AUTOCAD沒有運行則 If err.Number 0 Then 運行它 Set cadApp = CreateObject(AUTOCAD.Application) End If 清除發(fā)生錯誤的 Err 對象 err.Clear 標(biāo)準(zhǔn)的數(shù)據(jù)庫連接With cnn$ If .State = adStateOpen Then .Close .Provider = Microsoft.Jet.OLEDB.4.0.Properties(Jet OLEDB:System database) = system.mdw.Open strConnectEnd With其中:cnn$是數(shù)據(jù)庫連接對象,strConnect是數(shù)據(jù)庫路徑,Provider應(yīng)該隨使用的數(shù)據(jù)庫引擎而變。 標(biāo)準(zhǔn)的數(shù)據(jù)庫表調(diào)用 With rst$ If .State = adStateOpen Then .Close .Source = .LockType = adLockOptimistic .CursorLocation = adUseServer .CursorType = adOpenDynamic .ActiveConnection = cnn$ .Open Strsql, Options:=adCmdTextEnd With其中:rst$是數(shù)據(jù)庫表對象,Strsql是SQL語句。如果是只讀方式打開表,則應(yīng)該是:With rst$ If .State = adStateOpen Then .Close .Source = .LockType = adLockReadOnly .CursorLocation = adUseClient .CursorType = adOpenForwardOnly .ActiveConnection = cnn$ .Open strSql, Options:=adCmdTextEnd With 加快表記錄的讀取速度如果讀取的記錄數(shù)很大,為了加快記錄的讀取速度,不要直接讀取表對象的記錄,應(yīng)該采取以下的方法:fldCount=rstTemp.Fields.CountDim fld(fldCount) As ADODB.FieldWith rstTemp For i = 0 To fldCount-1 Set fld(i) = .Fields(i) Next i i = 0 Do While Not .EOF i = i + 1 Call Redim_Double2(i, NewSpCurve()For j = 0 To fldCount-1 NewSpCurve(j, i) = fld(j).Value Nexi j .MoveNext LoopEnd With 對象的循環(huán)搜索使用 For Each obj In objSet 要比 for i = 0 To objSet.Count 1 快。附錄:匈牙利命名法匈牙利命名法MFC、句柄、控件及結(jié)構(gòu)的命名規(guī)范 Windows類型樣本變量MFC類樣本變量HWNDhWnd;CWnd*pWnd;HDLGhDlg;CDialog*pDlg;HDChDC;CDC*pDC;HGDIOBJhGdiObj;CGdiObject*pGdiObj;HPENhPen;CPen*pPen;HBRUSHhBrush;CBrush*pBrush;HFONT hFont; CFont*pFont;HBITMAP hBitmap;CBitmap*pBitmap;HPALETTE hPaltte;CPalette*pPalette;HRGN hRgn;CRgn*pRgn;HMENU hMenu;CMenu*pMenu;HWND hCtl;CState* pState;HWND hCtl;CButton*pButton;HWND hCtl;CEdit*pEdit;HWND hCtl;CListBox*pListBox;HWND hCtl;CComboBox*pComboBox;HWND hCtl;CScrollBar*pScrollBar;HSZ hszStr;CString pStr;POINT pt;CPoint pt;SIZE size;CSize size;RECT rect;CRect rect;一般前綴命名規(guī)范 前綴類型實例C類或結(jié)構(gòu)CDocument,CPrintInfom_成員變量m_pDoc,m_nCustomers變量命名規(guī)范 前綴類型描述實例chchar8位字符chGradech TCHAR如果_UNICODE定義,則為16位字符chNamebBOOL布爾值bEnablen int整型(其大小依賴于操作系統(tǒng))nLengthn UINT 無符號值(其大小依賴于操作系統(tǒng))nHeightw WORD 16位無符號值wPosl LONG 32位有符號整型lOffsetdw DWORD 32位無符號整型 dwRangep * 指針pDoclp FAR* 遠指針 lpszNamelpsz LPSTR 32位字符串指針lpszNamelpsz LPCSTR 32位常量字符串指針lpszNamelpsz LPCTSTR 如果_UNICODE定義,則為32位常量字符串指針lpszNameh handle Windows對象句柄hWndlpfn callback指向CALLBACK函數(shù)的遠指針 ?應(yīng)用程序符號命名規(guī)范 前綴符號類型實例范圍IDR_ 不同類型的多個資源共享標(biāo)識IDR_MAIINFRAME10x6FFFIDD_對話框資源IDD_SPELL_CHECK 10x6FFFHIDD_對話框資源的Help上下文HIDD_SPELL_CHECK 0x200010x26FFIDB_ 位圖資源IDB_COMPANY_LOGO 10x6FFFIDC_光標(biāo)資源IDC_PENCIL 10x6FFFIDI_圖標(biāo)資源IDI_NOTEPAD 10x6FFFID_來自菜單項或工具欄的命令I(lǐng)D_TOOLS_SPELLING 0x80000xDFFFHID_命令Help上下文HID_TOOLS_SPELLING 0x180000x1DFFFIDP_消息框提示IDP_INVALID_PARTNO 80xDEEFHIDP_消息框Help上下文HIDP_INVALID_PARTNO 0x300080x3DEFFIDS_串資源IDS_COPYRIGHT 10x7EEFIDC_對話框內(nèi)的控件IDC_RECALC 80xDEEFMicrosoft MFC宏命名規(guī)范 名稱類型_AFXDLL唯一的動態(tài)連接庫(Dynamic Link Library,DLL)版本_ALPHA僅編譯DEC Alpha處理器_DEBUG包括診斷的調(diào)試版本_MBCS
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- ICU膿毒血癥的護理措施
- 幼兒園網(wǎng)絡(luò)安全管理培訓(xùn)
- 幼犬術(shù)后護理常規(guī)
- 護理學(xué)基礎(chǔ)知識培訓(xùn)
- 起重作業(yè)安全培訓(xùn)
- 安全教育網(wǎng)課
- 2025年互聯(lián)網(wǎng)廣告精準(zhǔn)投放算法效果評估與廣告投放效果效果評估創(chuàng)新報告
- 腫瘤登記隨訪方法
- 2025年工業(yè)互聯(lián)網(wǎng)平臺自然語言處理技術(shù)賦能工業(yè)生產(chǎn)報告
- 儲能系統(tǒng)在智能電網(wǎng)中的應(yīng)用與系統(tǒng)穩(wěn)定性研究報告
- 哮喘的治療與護理講課件
- 部編版語文五年級下冊全冊復(fù)習(xí)知識匯-總
- 2025年河北地礦中地建設(shè)有限公司招聘筆試參考題庫含答案解析
- 常見護理工作應(yīng)急預(yù)案及流程
- 2025年聊城市茌平區(qū)高鐵建設(shè)發(fā)展有限公司招聘筆試參考題庫含答案解析
- 湖南省長沙市寧鄉(xiāng)市2024-2025學(xué)年三年級下學(xué)期6月期末科學(xué)試卷(含答案)
- 2025五年級道德與法治下冊期末綜合測試卷(含答案)
- 2025至2030中國房產(chǎn)證抵押貸款行業(yè)市場深度分析及投資與前景預(yù)測報告
- 定向士官心理測試題及答案
- 2025至2030中國LNG運輸行業(yè)市場發(fā)展分析及前景預(yù)測與戰(zhàn)略規(guī)劃報告
- GM/T 0021-2023動態(tài)口令密碼應(yīng)用技術(shù)規(guī)范
評論
0/150
提交評論