C++编程规范 1.0

1、构造函数执行时进行初始化的属性,其声明时要放在前面,在程序执行过程赋值的初始化的属性放在较后的位置声明。

2、setter和getter函数

setter函数:

1)setter函数一定在参数前面加上const,不管参数是简单类型/对象/列表,确保在参数传递的数据不会再setter函数体中被修改!!!

void set_layer_idx(const int layer_idx) { _layer_idx = layer_idx; }

2)对于对象类型或vector列表要加上引用(&),传参更快。

void set_coord(const Coordinate<int>& coord) { _coord = coord; }

getter函数:

1)返回简单类型的getter要添加const属性,防止

int get_layer_idx() const { return _layer_idx; }

2)返回对象类型的getter一定加上引用(&),为后续的操作提供接口。

Coordinate<int>& get_coord() { return _coord; }

3、尽量不用带参构造函数,因为带参构造可能无法以下为所有的属性初始化,可视化效果不好。

如果使用带参构造,构造函数中参数的位置要和声明的顺序一一对应。

4、函数的声明和定义位置/顺序一定按照第一次调用的位置的顺序。

5、函数能传递引用就传递引用,引用传参效率高于普通对象的拷贝操作。

6、简单类型和指针类型属性一定赋默认值,相应的违例值,在外部调用的时候会报错,已提示当前属性未初始化!!!!

int _layer_idx = -1;  
double _total_cost = 0.0;
ConflictNode* _conflict_head = nullptr;

7、函数的深度不要太深,不方便修改,可读性差。一个函数完成一个功能!!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值