Итак, у меня есть класс. Это полезный класс. Мне очень нравится. Давайте назовем это MyUsefulClass
.
MyUsefulClass
имеет публичный метод. Давайте назовем это processUsefulData(std::vector<int>&)
.
Теперь предположим, что processUsefulData
действительно делает две вещи, и я хочу реорганизовать это из этого:
std::vector<int> MyUsefulClass::processUsefulData(std::vector<int>& data)
{
for (/*...*/)
{
for (/*...*/)
{
// a bunch of statements...
}
}
for (/*...*/)
{
for (/*...*/)
{
// a bunch of other statements...
}
}
return data;
}
Теперь я хочу разделить эти обязанности и переписать код как
std::vector<int> MyUsefulClass::processUsefulData(std::vector<int>& data)
{
doProcessA(data, dataMember_);
doProcessB(data, otherDataMember_);
return data;
}
Итак, я не знаю, должен ли я сделать две вспомогательные функции свободными функциями или функциями-членами, и когда каждая из них будет подходящей. Я также не знаю, лучше ли сделать их в анонимном пространстве имен или нет. Кто-нибудь знает хорошие времена, чтобы сделать это?