• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            無我

            讓內心永遠燃燒著偉大的光明的精神之火!
            靈活的思考,嚴謹的實現
            豪邁的氣魄、頑強的意志和周全的思考

            【轉】VC編程規范—程序員應該這樣寫代碼

            VC編程規范-程序員應該這樣寫代碼 
            基本要求 
            1.1 程序結構清析,簡單易懂,單個函數的程序行數不得超過100行。 
            1.2 打算干什么,要簡單,直接了當,代碼精簡,避免垃圾程序。 
            1.3 盡量使用標準庫函數和公共函數。 
            1.4 不要隨意定義全局變量,盡量使用局部變量。 
            1.5 使用括號以避免二義性。 

            2.可讀性要求 
            2.1 可讀性第一,效率第二。 
            2.2 保持注釋與代碼完全一致。 
            2.3 每個源程序文件,都有文件頭說明,說明規格見規范。 
            2.4 每個函數,都有函數頭說明,說明規格見規范。 
            2.5 主要變量(結構、聯合、類或對象)定義或引用時,注釋能反映其含義。 
            2.7 常量定義(DEFINE)有相應說明。 
            2.8 處理過程的每個階段都有相關注釋說明。 
            2.9 在典型算法前都有注釋。 
            2.10 利用縮進來顯示程序的邏輯結構,縮進量一致并以Tab鍵為單位,定義Tab為 6個字節。 
            2.11 循環、分支層次不要超過五層。 
            2.12 注釋可以與語句在同一行,也可以在上行。 
            2.13 空行和空白字符也是一種特殊注釋。 
            2.14 一目了然的語句不加注釋。 
            2.15 注釋的作用范圍可以為:定義、引用、條件分支以及一段代碼。 
            2.16 注釋行數(不包括程序頭和函數頭說明部份)應占總行數的 1/5 到 1/3 。 

            3. 結構化要求 
            3.1 禁止出現兩條等價的支路。 
            3.2 禁止GOTO語句。 
            3.3 用 IF 語句來強調只執行兩組語句中的一組。禁止 ELSE GOTO 和 ELSE RETURN。 
            3.4 用 CASE 實現多路分支。 
            3.5 避免從循環引出多個出口。 
            3.6 函數只有一個出口。 
            3.7 不使用條件賦值語句。 
            3.8 避免不必要的分支。 
            3.9 不要輕易用條件分支去替換邏輯表達式。 

            4. 正確性與容錯性要求 
            4.1 程序首先是正確,其次是優美 
            4.2 無法證明你的程序沒有錯誤,因此在編寫完一段程序后,應先回頭檢查。 
            4.3 改一個錯誤時可能產生新的錯誤,因此在修改前首先考慮對其它程序的影響。 
            4.4 所有變量在調用前必須被初始化。 
            4.5 對所有的用戶輸入,必須進行合法性檢查。 
            4.6 不要比較浮點數的相等, 
            如: 10.0 * 0.1 == 1.0 , 不可靠 
            4.7 程序與環境或狀態發生關系時,必須主動去處理發生的意外事件,如文件能否邏輯鎖定、打印機是否聯機等。 
            4.8 單元測試也是編程的一部份,提交聯調測試的程序必須通過單元測試。 

            5. 可重用性要求 
            5.1 重復使用的完成相對獨立功能的算法或代碼應抽象為公共控件或類。 
            5.2 公共控件或類應考慮OO思想,減少外界聯系,考慮獨立性或封裝性。 
            5.3 公共控件或類應建立使用模板。 

            附:C++ 編程規范,delphi作相應的參考 
            .1適用范圍 
            本標準適用于利用Visul C++ ,Borland C++進行軟件程序開發的人員.。 
            2變量命名 
            命名必須具有一定的實際意義,形式為xAbcFgh,x由變量類型確定,Abc、Fgh表示連續意 
            義字符串,如果連續意義字符串僅兩個,可都大寫.如OK. 
            具體例程: 
            BOOL類型 bEnable; 
            ch * char chText 
            c * 類對象 cMain(對象實例) 
            h * Handle(句柄) hWnd 
            i * int 
            n * 無符號整型 
            p * 指針 
            sz,str * 字符串 
            w WORD 
            x,y 坐標 
            Char或者TCHAR類型 與Windows API有直接聯系的用szAppName[10]形式否則用 
            FileName[10]形式,單個字符也可用小寫字母表示; 
            Int類型 nCmdShow; 
            LONG類型 lParam; 
            UINT類型 uNotify; 
            DWORD類型 dwStart; 
            PSTR類型 pszTip; 
            LPSTR類型 lpCmdLine 
            LPTSTR類型 lpszClassName; 
            LPVOID類型 lpReserved 
            WPARAM類型 wParam, 
            LPARAM類型 lParam 
            HWND類型 hDlg; 
            HDC類型 hDC; 
            HINSTANCE類型 hInstance 
            HANDLE類型 hInstance, 
            HICON類型 hIcon; 
            int iTmp 
            float fTmp 
            DWORD dw* 
            String , AnsiString str * 
            m_ 類成員變量 m_nVal, m_bFlag 
            g_ 全局變量 g_nMsg, g_bFlag 
            局部變量中可采用如下幾個通用變量:nTemp,nResult,I,J(一般用于循環變量)。其他資源句柄同上 
            .3常量命名和宏定義 
            常量和宏定義必須具有一定的實際意義; 
            常量和宏定義在#include和函數定義之間; 
            常量和宏定義必須全部以大寫字母來撰寫,中間可根據意義的連續性用下劃線連接,每一條定義的右側必須有一簡單的注釋,說明其作用; 
            資源名字定義格式: 
            菜單:IDM_XX或者CM_XX 
            位圖:IDB_XX 
            對話框:IDD_XX 
            字符串:IDS_XX 
            DLGINIT:DIALOG_XX 
            ICON:IDR_XX 
            .4函數命名 
            函數原型說明包括引用外來函數及內部函數,外部引用必須在右側注明函數來源: 模塊名及文件名, 如是內部函數,只要注釋其定義文件名; 
            第一個字母必須使用大寫字母,要求用大小寫字母組合規范函數命名,必要時可用下劃線間隔,示例如下: 
            void UpdateDB_Tfgd (TRACK_NAME); //Module Name :r01/sdw.c 
            void PrintTrackData (TRACK_NAME); //Module Name :r04/tern.c 
            void ImportantPoint (void); //Module Name :r01/sdw.c 
            void ShowChar (int , int , chtype); //Local Module 
            void ScrollUp_V (int , int); //Local Module 
            .5結構體命名 
            結構體類型命名必須全部用大寫字母,原則上前面以下劃線開始;結構體變量命名必須用大小寫字母組合,第一個字母必須使用大寫字母,必要時可用下劃線間隔。對于私有數據區,必須注明其所屬的進程。全局數據定義只需注意其用途。 

            示例如下: 
            typedef struct 

            char szProductName[20]; 
            char szAuthor[20]; 
            char szReleaseDate[16]; 
            char szVersion[10]; 
            unsigned long MaxTables; 
            unsigned long UsedTables; 
            }DBS_DATABASE; 
            DBS_DATABASE GdataBase; 
            6 控件的命名: 
            用小寫前綴表示類別 
            用小寫前綴表示類別: 
            fm 窗口 
            cmd 按鈕 
            cob combo,下拉式列表框 
            txt 文本輸入框 
            lab labal,標簽 
            img image,圖象 
            pic picture 
            grd Grid,網格 
            scr 滾動條 
            lst 列表框 
            frm fram 

            posted on 2007-09-29 19:08 Tim 閱讀(650) 評論(0)  編輯 收藏 引用 所屬分類: C/C++語言

            <2007年9月>
            2627282930311
            2345678
            9101112131415
            16171819202122
            23242526272829
            30123456

            導航

            統計

            公告

            本博客原創文章,歡迎轉載和交流。不過請注明以下信息:
            作者:TimWu
            郵箱:timfly@yeah.net
            來源:www.shnenglu.com/Tim
            感謝您對我的支持!

            留言簿(9)

            隨筆分類(173)

            IT

            Life

            搜索

            積分與排名

            最新隨筆

            最新評論

            閱讀排行榜

            精品久久久久久综合日本| 亚洲欧美日韩久久精品| 国产综合久久久久| 久久精品国产精品青草app| 久久久久97国产精华液好用吗| 一本一本久久a久久精品综合麻豆| 伊人色综合久久天天网| 无码任你躁久久久久久老妇App| 亚洲AV无码久久精品蜜桃| 亚洲午夜久久影院| 亚洲va国产va天堂va久久| 91精品婷婷国产综合久久| 久久久久亚洲av成人网人人软件| 97久久超碰国产精品2021| 欧美久久久久久午夜精品| 久久亚洲精品成人AV| 久久久久这里只有精品| 久久99国产精品尤物| 97视频久久久| 久久亚洲欧洲国产综合| 国产一级持黄大片99久久| 久久人人爽人人爽人人片AV高清| 天天爽天天爽天天片a久久网| 精品久久久久久中文字幕大豆网| 精品久久久久久无码人妻热| 国产精品一区二区久久国产| 国产亚洲精久久久久久无码77777 国产亚洲精品久久久久秋霞 | 亚洲综合久久久| 国产精品久久久天天影视香蕉| 精品国产VA久久久久久久冰 | 日韩人妻无码精品久久久不卡| 久久五月精品中文字幕| 国产一级做a爰片久久毛片| 久久精品麻豆日日躁夜夜躁| 成人久久免费网站| 狼狼综合久久久久综合网| 日产精品久久久久久久| 久久久国产打桩机| 老男人久久青草av高清| 精品国产99久久久久久麻豆 | 狠狠色噜噜色狠狠狠综合久久|