當我寫一個類的公共成員函數,做幾件事情,如..打破公有成員函數到大量的私有成員函數
void Level::RunLogic(...);
在此功能,我發現自己分裂它分爲幾個私有成員函數。有多達分裂公共成員函數成幾個功能,因爲你不會做一兩件事沒有其他沒有意義的,我不希望用戶在什麼樣的順序等。相反,在RunLogic()函數會擔心什麼看起來像這樣...
void Level::RunLogic(...) {
DoFirstThing();
DoSecondThing();
DoThirdThing();
}
由於DoThing功能是私人成員功能。在Code Complete中,Steve McConnel建議減少一個類中的函數數量,但我寧願不把所有代碼都放到一個函數中。我認爲他的真正含義是一個類不應該有太多的功能,但我只是想知道其他程序員對此有何看法。另外,我一直在尋求在公共成員函數中暴露越來越少的實現細節,並將大部分工作轉移到小型私有成員函數中。顯然這會產生更多的功能......但這就是問題所在。我用
其實,我發現你的第一個例子更具可讀性。減少閱讀for循環的努力。我可以管理的連續四個陳述。 – 2009-12-17 12:43:19