C++ 工程实践(3):采用有利于版本管理的代码格式(二)

2014-11-24 13:05:55 · 作者: · 浏览: 1
td::cout << "Timer 1: " << count_ << " ";
++count_;
- loop1_->runAfter(1, boost::bind(&Printer::print1, this));
+ loop1_->runAfter(2, boost::bind(&Printer::print1, this));
}
else
{
loop1_->quit();
}
}
*/
void print2()
{
muduo::MutexLockGuard lock(mutex_);
if (count_ < 10)
{
std::cout << "Timer 2: " << count_ << " ";
++count_;总之,不要用 /* */ 来注释多行代码。

或许是时过境迁,大家都在用 // 注释了,《Effective C++》第三版去掉了这一条建议。

2. 局部变量与成员变量的定义
基本原则是,一行代码只定义一个变量,比如

double x;

double y;

将来代码增加一个 double z 的时候,diff 输出一眼就能看出改了什么:

@@ -63,6 +63,7 @@ private:
int count_;
double x;
double y;
+ double z;
};

int main()如果把 x 和 y 写在一行,diff 的输出就得多看几眼才知道。

@@ -61,7 +61,7 @@ private:
muduo::net::EventLoop* loop1_;
muduo::net::EventLoop* loop2_;
int count_;
- double x, y;
+ double x, y, z;
};

int main()所以,一行只定义一个变量更利于版本管理。同样的道理适用于 enum 成员的定义,数组的初始化列表等等。

3. 函数声明中的参数
如果函数的参数大于 3 个,那么在逗号后面换行,这样每个参数占一行,便于 diff。以 muduo::net::TcpClient 为例:

class TcpClient : boost::noncopyable
{
public:
TcpClient(EventLo