我注意到,即使尊重 OOD 的单一职责原则,有时类仍然会变大。有时直接在方法中访问成员变量感觉就像拥有全局状态,并且很多东西都存在于当前范围内。仅通过查看当前正在使用的方法,就无法确定当前范围内可访问的单个变量来自何处。
最近和朋友一起工作时,我意识到我写的代码比他详细得多,因为我仍然将成员变量作为参数传递给每个方法。
这是不好的做法吗?
编辑:示例:
class AddNumbers {
public:
int a, b;
// ...
int addNumbers {
// I could have called this without arguments like this:
// return internalAlgorithmAddNumbers();
// because the data needed to compute the result is in members.
return internalAlgorithmAddNumbers(a,b);
}
private:
int internalAlgorithmAddNumbers(int sum1, int sum2) { return sum1+sum2; }
};