`
dogasshole
  • 浏览: 840100 次
文章分类
社区版块
存档分类
最新评论

think it clear: const, char, format

 
阅读更多

写出糟糕的代码会带来糟糕的感觉和生活,尽管它运行的很好。

有时候我们面临着多种选择,这样也可,那样也可,但是哪一个才是那最精准,带着脆响的一投呢?

今天遇到几个值得斟酌,需要think it clear的问题:

1, const:

voidfunc(type*arg);

看到这句话我们脑海里闪现这样一些信息:

a, 这是用指针传递参数来代替整个类型的复制

b, 这个arg指向的内容可能会被改变

但是如果其实我们并不改变,那么这个声明就没有最确切的表达意思,下面就非常确切

voidfunc(consttype*arg);
class type
{
public:
const int* mMember;
};

----不仅进了球,而且很脆的空心,读代码和写代码的人都感到很享受。

2, char and unsigned char

在表述字符的时候,用unsigned char更加合理

3, if

booljudge()
...{
if(a)
...{
if(b)
...{
returntrue;
}
else
...{
returnfalse;
}

}
else
...{
returnfalse;
}

}

这个也的确是对的写法,但是无论自己写起来还是别人读起来,真是混乱的格式,不如改成:

booljudge()
...{
if(a==false)
returnfalse;
if(b==false)
returnfalse;
if(...)
....;
returntrue;
}

这样层层筛选的意思就表达的十分确切

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics