青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

牽著老婆滿街逛

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

代碼風格

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

匈牙利命名法

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

前綴

類型

例如

b

布爾型

bGameOver

by

Byte或Unsigned Char

byChoice

c

Char

cYesNo

cx / cy

尺寸

cxWidth

dw

DWORD, Double Word 或Unsigned Long

dwCounter

fn

函數

fnGetMeOver

h

Handle

hWindow

i

int (Integer)

iCounter

l

Long

lCounter

n

Short int

nChange

p

指針

pMakeChoice

s

String

sName

sz

以0結尾的字符串

szName

w

WORD Unsigned int

wCounter

x, y

坐標

x

文字間隔
文字的間隔對程序的結構和可讀性非常重要
下面的兩段程序哪個更容易讀懂?
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];
  }
}
接下來繼續看
一行代碼中的間隔
好的風格:
my.problem = FunkyG( my.bag + my.pipe * my.time);
不好的風格:
my.problem=FunkyG(my.bag+my.pipe*my.time);

變量名

選擇最能說明變量作用的名字,如:
fMoneyAmount
fHitPoints
vDirection
但如果去掉字母中的元音后
fMnyAmnt
fHtPnts
vDirctn
非?;煜皇菃??還不如試試只用前三個字母
vDirctn = vDir
過長的變量或函數名也是不可取的(有時簡直就是噩夢)
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(); // 好

在程序中定義變量

全局變量:
議盡可能少用全局變量,因為不正確的是用很容易引起和局部變量的混淆,如:
int j=756;
void printJandQ(int Q)
{
  int j=0;
  cout << j << q;
}
局部變量的定義:
盡量不要在函數中間定義變量,這會導致可讀性的下降和變量作用范圍的混淆,在每個函數的開始處定義它的局部變量。(譯者注:對于這條建議本人持保留態度)
靜態分配和動態分配:
不好的風格:
struct DosFile_t
{
  char * name;
  int id;
}
如果一個字符串的長度有限制最好使用靜態分配,如下:
struct DosFile_t
{
  char name[8];
  int id;
}
在初始化變量時不要忘記付值:
不要認為一個變量在定義出來后就已經被付值為0了,記住手動付0給它們,如果是結構就用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 楊粼波 閱讀(444) 評論(1)  編輯 收藏 引用 所屬分類: 文章收藏

評論

# re: 代碼風格 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.   回復  更多評論   

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            久久国产精品毛片| 麻豆成人小视频| 国产一区自拍视频| 国产日韩精品久久久| 国产欧美日韩精品丝袜高跟鞋| 欧美肉体xxxx裸体137大胆| 欧美日韩在线不卡| 国产美女精品视频| 精品电影在线观看| 一区二区91| 久久av一区二区| 欧美激情亚洲另类| 一区二区欧美国产| 久久精品在这里| 欧美日韩精品免费看| 国产欧美日韩激情| 亚洲人成在线观看| 欧美亚洲一级| 亚洲高清色综合| 亚洲午夜免费福利视频| 久久精品1区| 欧美日韩国产综合视频在线观看中文 | 午夜视频精品| 麻豆精品在线视频| 亚洲综合大片69999| 久久人人97超碰人人澡爱香蕉| 久久久久久久久一区二区| 免费在线成人| 亚洲伊人网站| 欧美激情精品| 狠狠色综合网站久久久久久久| 99国产一区| 老司机一区二区| 亚洲一区久久久| 欧美区国产区| 亚洲国内自拍| 免费高清在线一区| 亚洲欧美在线磁力| 欧美午夜寂寞影院| 亚洲免费av电影| 欧美xxxx在线观看| 久久久成人精品| 国产一区二区三区四区老人| 亚洲欧美清纯在线制服| 亚洲精品社区| 欧美国产精品人人做人人爱| 怡红院精品视频在线观看极品| 午夜亚洲精品| 亚洲一区二区动漫| 欧美日韩天堂| 99精品久久| 亚洲精品一区久久久久久 | 国产欧美日韩视频在线观看| 一区二区av在线| 91久久精品一区二区三区| 美脚丝袜一区二区三区在线观看 | 麻豆av一区二区三区久久| 国产在线日韩| 久久综合狠狠| 久久久噜噜噜久久| 亚洲第一在线| 亚洲电影在线观看| 欧美成人午夜影院| 99精品国产高清一区二区 | 久久人人97超碰国产公开结果| 亚洲一本视频| 国产日韩精品久久| 久久久999精品视频| 久久九九热re6这里有精品| 狠狠色丁香婷婷综合影院| 美日韩精品视频| 欧美国产精品| 亚洲综合日韩在线| 性欧美超级视频| 亚洲国产三级网| 亚洲精品一二三| 国产精品久久综合| 久久一综合视频| 欧美激情免费观看| 国产日韩亚洲| 女生裸体视频一区二区三区| 欧美α欧美αv大片| 99视频一区| 亚洲欧美成人网| 在线观看国产一区二区| 亚洲精品免费在线| 国产午夜精品在线观看| 欧美激情精品久久久久久| 欧美日韩日本网| 久久国内精品自在自线400部| 久久久中精品2020中文| 日韩午夜电影av| 欧美一区二区| 日韩一级片网址| 性8sex亚洲区入口| 一本大道久久a久久综合婷婷 | 在线视频亚洲欧美| 国产亚洲精品激情久久| 亚洲国产成人久久综合一区| 国产精品久久77777| 免费欧美在线| 国产精品美女久久久久久2018| 久久精品国产亚洲高清剧情介绍| 欧美xart系列在线观看| 欧美在线免费| 欧美日韩国产欧美日美国产精品| 欧美在线一二三| 欧美日韩高清区| 久热成人在线视频| 欧美日韩综合网| 美女免费视频一区| 国产日韩欧美a| 99视频在线精品国自产拍免费观看 | 亚洲精品在线免费观看视频| 韩国精品一区二区三区| 亚洲一区二区三区色| 日韩写真在线| 欧美福利一区二区| 欧美粗暴jizz性欧美20| 国产亚洲精品一区二555| 一区二区三区四区五区精品视频| 亚洲国产视频一区| 裸体歌舞表演一区二区| 久热精品在线视频| 狠狠综合久久av一区二区老牛| 亚洲一区二区高清| 亚洲男人的天堂在线观看| 欧美日韩成人一区二区| 欧美高清视频免费观看| 亚洲成色精品| 免费成人激情视频| 亚洲电影有码| 99热免费精品| 欧美视频中文在线看| 一本色道久久综合精品竹菊| 一区二区三区鲁丝不卡| 欧美日韩国产片| 中文在线不卡| 久久成人精品无人区| 国模叶桐国产精品一区| 久久久福利视频| 欧美福利一区| 一区二区电影免费观看| 一本色道久久精品| 亚洲香蕉在线观看| 国产精品久久| 欧美专区在线观看| 欧美sm视频| 正在播放日韩| 国产伦精品一区二区三区免费迷| 亚洲欧美日韩国产一区二区三区 | 国产精品一区久久| 久久精品亚洲一区| 亚洲欧洲精品一区二区三区 | av成人激情| 国产精品热久久久久夜色精品三区| 亚洲欧美日韩成人| 欧美大成色www永久网站婷| 日韩视频在线免费| 国产精品视频精品| 久久资源在线| 在线综合视频| 免费精品视频| 亚洲曰本av电影| 黄网站免费久久| 欧美日韩综合视频| 久久夜色精品国产亚洲aⅴ| 亚洲美女淫视频| 久久久久天天天天| 亚洲美女网站| 精品不卡在线| 国产精品久久| 免费欧美在线视频| 亚洲在线第一页| 91久久国产综合久久蜜月精品 | 国产精品久久久久一区二区三区共| 午夜免费久久久久| 亚洲精品乱码久久久久久黑人| 欧美在线视频a| 一区二区三区蜜桃网| 揄拍成人国产精品视频| 国产精品黄色在线观看| 蜜臀av国产精品久久久久| 午夜视频一区| 中文日韩在线视频| 亚洲高清一区二区三区| 久久国产精品一区二区三区四区| 亚洲美女av在线播放| 怡红院精品视频在线观看极品| 国产精品成人一区二区三区夜夜夜 | 亚洲精品一区二区三区婷婷月| 久久精品欧美| 亚洲欧美综合| 夜夜夜久久久| 亚洲精品日产精品乱码不卡| 国产一区二区三区四区五区美女| 欧美天堂亚洲电影院在线观看 | 亚洲精品一区二区三区福利| 亚洲视频在线观看一区| 国产精品成人观看视频免费|