写出糟糕的代码会带来糟糕的感觉和生活,尽管它运行的很好。
有时候我们面临着多种选择,这样也可,那样也可,但是哪一个才是那最精准,带着脆响的一投呢?
今天遇到几个值得斟酌,需要think it clear的问题:
1, const:
void func( type * arg);
看到这句话我们脑海里闪现这样一些信息:
a, 这是用指针传递参数来代替整个类型的复制
b, 这个arg指向的内容可能会被改变
但是如果其实我们并不改变,那么这个声明就没有最确切的表达意思,下面就非常确切
void func( const type * arg);
class type
{
public:
const int* mMember;
};
----不仅进了球,而且很脆的空心,读代码和写代码的人都感到很享受。
2, char and unsigned char
在表述字符的时候,用unsigned char更加合理
3, if
bool judge() ... { if(a) ...{ if(b) ...{ return true; }else ...{ return false; } }else ...{ return false; }}
这个也的确是对的写法,但是无论自己写起来还是别人读起来,真是混乱的格式,不如改成:
bool judge() ... { if(a==false) return false;if(b==false) return false;if(...)....; return true;}
这样层层筛选的意思就表达的十分确切
原文链接: