当我编写一个类的公共成员函数时,它会做几件事,比如..
void Level::RunLogic(...);
在该函数中,我发现自己将其拆分为几个私有成员函数。将公共成员函数拆分为多个函数是没有意义的,因为如果没有另一个,你就不会做一件事,而且我不希望用户担心按什么顺序等等。相反,RunLogic() 函数会看起来像这样...
void Level::RunLogic(...) {
DoFirstThing();
DoSecondThing();
DoThirdThing();
}
DoThing 函数是私有成员函数。在 Code Complete 中,Steve McConnel 建议减少类中的函数数量,但我宁愿不要只将所有代码放入一个函数中。我对他真正含义的假设是一个类不应该有太多的功能,但我只是想知道其他程序员对此有何看法。
此外,我一直致力于在我的公共成员函数中公开越来越少的实现细节,并将大部分工作转移到小型私有成员函数中。显然,这创造了更多的功能......但这就是问题所在。