• <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>

            牽著老婆滿街逛

            嚴(yán)以律己,寬以待人. 三思而后行.
            GMail/GTalk: yanglinbo#google.com;
            MSN/Email: tx7do#yahoo.com.cn;
            QQ: 3 0 3 3 9 6 9 2 0 .

            代碼風(fēng)格

            頭文件的作用
            申明將被程序用到的函數(shù)、變量和定義類型(包括:常量、類定義、模板定義……)
            正確使用頭文件
            第1點(diǎn):
            頭文件中應(yīng)該只包含函數(shù)和變量的申明,而不是定義。
            例如:
            在 main.cpp
             int mousex;
            在 headers.h
             extern int mousex;
            如果多個cpp文件include了一個定義了變量的頭文件,那么你將看到下面的錯誤信息
            "error LNK2005: "int mousex" (?mousex@@3HA) already defined in headers.obj"
            第2點(diǎn):
            在定義變量的地方初始化它們的值,而不是在申明它們的地方
            例如:
            在 main.cpp
             int mousey=0;
            在 headers.h
             extern int mousey;
            如果在頭文件中初始化變量,那么編譯器會認(rèn)為這是一個定義,于是出現(xiàn)如下的錯誤信息:
            "error C2086: 'int mousey' : redefinition"
            第3點(diǎn):
            為了避免重定義,最好把頭文件用以下的定義包含起來(現(xiàn)在編譯器如VC++.net也可以用#pragma once代替)
            #ifndef __HEADERS_H__
            #define __HEADERS_H__
            .
            code
            .
            #endif __HEADERS_H__

            匈牙利命名法

            為了幫助程序員記憶變量的類型,Charles Simonyi發(fā)明了匈牙利命名法。使用它可以一目了然的在浩瀚的代碼海洋中識別出變量的類型。

            前綴

            類型

            例如

            b

            布爾型

            bGameOver

            by

            Byte或Unsigned Char

            byChoice

            c

            Char

            cYesNo

            cx / cy

            尺寸

            cxWidth

            dw

            DWORD, Double Word 或Unsigned Long

            dwCounter

            fn

            函數(shù)

            fnGetMeOver

            h

            Handle

            hWindow

            i

            int (Integer)

            iCounter

            l

            Long

            lCounter

            n

            Short int

            nChange

            p

            指針

            pMakeChoice

            s

            String

            sName

            sz

            以0結(jié)尾的字符串

            szName

            w

            WORD Unsigned int

            wCounter

            x, y

            坐標(biāo)

            x

            文字間隔
            文字的間隔對程序的結(jié)構(gòu)和可讀性非常重要
            下面的兩段程序哪個更容易讀懂?
            main()
            {
            char name[32]={"Red Cow Likes Milk"};
            for(int t=0;t<16;t++)
            {
            t+=1;
            for(int j=0;j<16;j++)
            {
            cout<<name[j];
            }
            cout<<name[t];
            }
            }
            main()
            {
              char name[32] = {"Red Cow Likes Milk"};
              for( int t = 0; t < 16; t++ )
              {
                t+=1;
                for( int j = 0; j < 16; j++)
                {
                  cout<<name[j];
                }
                 cout<<name[t];
              }
            }
            接下來繼續(xù)看
            一行代碼中的間隔
            好的風(fēng)格:
            my.problem = FunkyG( my.bag + my.pipe * my.time);
            不好的風(fēng)格:
            my.problem=FunkyG(my.bag+my.pipe*my.time);

            變量名

            選擇最能說明變量作用的名字,如:
            fMoneyAmount
            fHitPoints
            vDirection
            但如果去掉字母中的元音后
            fMnyAmnt
            fHtPnts
            vDirctn
            非常混淆不是嗎?還不如試試只用前三個字母
            vDirctn = vDir
            過長的變量或函數(shù)名也是不可取的(有時簡直就是噩夢)
            void RotationToFloatAngleDegreeDirection(float fRotation, Vector_t * vDirection); // 不好
            void RotationToDirection(float fRotation, Vector_t * vDirection); // 好
            void TheFunctionThatSetsAVariableAlwaysToZero(int * iVar); // 不好
            void VarToZero(int * iVar); // 好
            float TimeInCanadiaInHours(); // 不好
            float Time_Canadia(); // 好

            在程序中定義變量

            全局變量:
            議盡可能少用全局變量,因?yàn)椴徽_的是用很容易引起和局部變量的混淆,如:
            int j=756;
            void printJandQ(int Q)
            {
              int j=0;
              cout << j << q;
            }
            局部變量的定義:
            盡量不要在函數(shù)中間定義變量,這會導(dǎo)致可讀性的下降和變量作用范圍的混淆,在每個函數(shù)的開始處定義它的局部變量。(譯者注:對于這條建議本人持保留態(tài)度)
            靜態(tài)分配和動態(tài)分配:
            不好的風(fēng)格:
            struct DosFile_t
            {
              char * name;
              int id;
            }
            如果一個字符串的長度有限制最好使用靜態(tài)分配,如下:
            struct DosFile_t
            {
              char name[8];
              int id;
            }
            在初始化變量時不要忘記付值:
            不要認(rèn)為一個變量在定義出來后就已經(jīng)被付值為0了,記住手動付0給它們,如果是結(jié)構(gòu)就用memset將其全部清0
            int j=0;
            DosFile_t * dfFileList;
            dfFileList=(dfFile*)malloc(sizeof(dfFileList)*8);
            memset(dfFile,0, sizeof(dfFileList)*8);
            Brian Burleson: marlboro@thelenscap.com
            Translated by: soft http://www.gpgame.net

            posted on 2006-06-19 21:26 楊粼波 閱讀(428) 評論(1)  編輯 收藏 引用 所屬分類: 文章收藏

            評論

            # re: 代碼風(fēng)格 2010-02-25 08:08 MARITZASEXTON23

            I think that there is not a good idea to accomplish the definition essay by your own! I think, it's more comfortable to buy the college essay from <a href="http://quality-papers.com">paper writing service</a>, just because it will save time and money.   回復(fù)  更多評論   

            精品综合久久久久久97| 国产成人无码精品久久久性色| 久久中文字幕精品| 久久天堂电影网| 久久天天躁狠狠躁夜夜avapp| 久久久久久久国产免费看| 久久青草国产精品一区| 国产美女久久精品香蕉69| 久久精品国产亚洲av日韩| 人妻精品久久久久中文字幕69| 久久综合亚洲鲁鲁五月天| 一本色道久久88综合日韩精品 | 亚洲&#228;v永久无码精品天堂久久| 99久久精品费精品国产一区二区 | 成人妇女免费播放久久久| 性欧美大战久久久久久久久| 伊人久久久AV老熟妇色| 日韩av无码久久精品免费| 国内精品久久久久影院一蜜桃| a级成人毛片久久| 麻豆精品久久久一区二区| 国产成人精品久久| 久久天天躁狠狠躁夜夜不卡| 一97日本道伊人久久综合影院| 久久精品亚洲AV久久久无码| 午夜精品久久久久久毛片| 久久97精品久久久久久久不卡| 久久亚洲国产欧洲精品一| 久久亚洲精品无码观看不卡| 狠狠色丁香婷婷久久综合| 亚洲中文精品久久久久久不卡| 精品久久久久久亚洲精品| 国产成人精品久久| 欧美亚洲国产精品久久| 97久久精品午夜一区二区| 久久成人永久免费播放| 久久天天躁狠狠躁夜夜不卡| 国产精品久久免费| 欧美久久久久久午夜精品| 亚洲欧美成人综合久久久| 国产91久久综合|