小侃一下k&r和ms编程风格 - GameRes游戏开发论坛 gameofdeires

小侃一下k&r和ms编程风格.

闲着没事,就把k&r风格和ms风格的大致区别出来写一写,现在列出来:

 

(1)书写结构:

k&r风格: 缩进一个水平制符,k&r提倡8格.左花括号紧接其后不另起一行(函数体的左括号除外).

if(...) {

...;

...;

} else if(...) {

...;

...;

} else {

...;

...;

}

while(...) {

...;

...;

}

do {

...;

...;

}while(...);

for(...;...;...) {

...;

...;

}

typedef {

...;

...;

...;

}abc;

class abc {

...;

...;

...;

};

ms vc++风格: 缩进一个水平制符,vc的水平制符相当4个空格.

if(...)

{

...;

...;

}

else if(...)

{

...;

...;

}

else

{

...;

...;

}

while(...)

{

...;

...;

}

do

{

...;

...;

}while(...);

typedef

{

...;

...;

...;

}abc;

class abc

{

...;

...;

...;

};

坚持k&r风格的开发人员认为将左花括号单独占一行浪费了行数,使代码稀疏不够紧凑.只要右花括跟条件控制关键字if,while,do,for等并列即已很清晰.缩进制表符相当于8个空格,这样层次清晰,4格不够清晰.

坚持ms风格的开发人员认为左花括号紧接其后不另起一行而函数体的左括号却另起一行,是一种怪异的不一致性.缩进8格太多,缩进层次多了会使一些代码跑出屏幕.

(2)命名法

k&r风格: 讲究简短清爽.单词一致使用小写;一个单词超过8个字符的使用缩写;一个名字中包含多个单词则用下划线隔开它们.

BOOL empty;

int num_element;

void get_element();

class stack;

class seq_stack;

struct student;

object obj;

dialog dlg;

int object::cls_id;

int tmp;

小侃一下k&r和ms编程风格 - GameRes游戏开发论坛 gameofdeires
int i, j;

ms风格: 讲究表意明确.使用匈牙利法给名字加类型前缀;每个单词第一个字母以大写开头;相对前者更容易冗长,也有少部分地方借鉴于k&r风格.

BOOL bIsEmpty;

int dwNumberOfElements;

void GetElement();

class IStack;

class CSequenceStack;

struct SStudentInfo;

CBaseObject cBaseObject;

CBaseDialog cBaseDialog;

int CBaseObject::m_dwClassID;

//也有少部分借鉴于k&r的简约风格

int tmp;

int i, j;

坚持ms风格的人认为k&r风格的变量,结构和很多标识符出现在一起时,有时人会分不清标识符是函数内的成员还是普通变量,或者不知道变量,结构还是类.

坚持k&r风格的人认为微软的所谓"表意明确"和匈牙利类型命名法是纯粹自找脑损伤的表现.好的名字本来就不应该让程序员看不懂是什么类型.又何尝要加匈牙利类型前缀,并讽刺匈牙利类型前缀是写给编译器看的.

(3)总结

k&r风格,历史悠久,而且有众多友好的开源兄弟,如linux内核风格,gnu编码规范,它们都跟k&r基本相同.如果要写开源代码,使用k&r可能会更受人欢迎.不少坚持k&r风格的开发人员认为k&r风格是老字号,是C语言发明人提出国际标准化组织制定的风格.因此一些开发者认为ms风格不够正统.

ms风格是这几年推向MS外部开发人员的后起之秀,凭着微软的软件巨无霸的实力,迅速风靡开来.随着Visual C++,MFC在开发市场推广和普及,越来越多的开发人员逐渐接受了ms风格.不少坚持ms风格的开发人员认为k&r风格已过时,编程规范应该与时俱进.

  

爱华网本文地址 » http://www.413yy.cn/a/25101013/160774.html

更多阅读

K金的种类 k金和黄金的哪个贵

K金的种类黄金的特点之一就是柔软,所以当镶嵌宝石时由于强度不够容易脱落。因此,人们在黄金中加入银、铜、锌等金属以增加黄金的强度和韧性,这样制成的金饰,又称K金。在珠宝首饰镶嵌中几乎都用不同K数的K金来镶嵌宝石。这样既达到黄

转载 K爸和于妈:上帝开了个玩笑

太赞了!原文地址:K爸和于妈:上帝开了个玩笑作者: 枚木K爸和于妈的不合从2010年的7月份就有所耳闻,主要原因是因为K爸和于妈都看中了桐华的《步步惊心》,两方都准备购买其版权,但桐华考虑再三决定将《步步惊心》的版权卖给了唐人(K爸),不知道是

小威廉姆斯和阿扎伦卡交战记录 大小威廉姆斯

北京时间9月9日,美网女单决赛小威以7-5/6-7(6)/6-1连续第二年击败白俄罗斯姑娘阿扎伦卡,首次在法拉盛完成卫冕,同时也是个人在美网第五冠。这是小威姆斯在大满贯赛场赢得的第17个冠军,现在离纳芙拉蒂洛娃和埃弗特的18冠只有一步之遥。

声明:《小侃一下k&r和ms编程风格 - GameRes游戏开发论坛 gameofdeires》为网友敷衍无爱分享!如侵犯到您的合法权益请联系我们删除