良好的类接口
最后更新于:2022-04-02 04:15:06
[TOC]
## 不要暴露成员数据
如:
bad
```
float x;
float y;
float z;
```
good
```
float GetX();
float GetY();
float GetZ();
void SetX(float x);
void SetY(float y);
void SetZ(float z);
```
## 避免把私用的实现细节放入类的接口中
bad:
private 中的元素暴露了实现细节
```
class Employee{
public:
...
Employee(FullName name. String address,String workPhone,String homePhone TaxId taxIdNumber,JobClassification jobClas);
FullName GetName() const;
String GetAddress() const;
...
private:
String m_Name;
String m_Address;
int m_jobClass;
...
}
```
good:
把类的接口和类的实现隔离开,并在类的声明中包含一个指针,让改指针指向类的实现,单不能包含任何其他实现细节
```
class Employee{
public:
...
Employee(...);
FullName GetName() const;
String GetAddress() const;
...
private:
EmployeeImplementation *m_implementation;
...
}
```
## 让阅读代码比编写代码更方便
阅读代码的次数要比编写代码多得多
因此,为了让编写代码更方便而降低代码的可读性是非常不经济的
';