Итак, у меня есть класс. Это полезный класс. Мне очень нравится. Позвольте называть его 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;
}
Итак, я не знаю, должен ли я делать две вспомогательные функции свободными функциями или функциями-членами, и когда каждый будет уместен. Я также не знаю, лучше ли делать их в анонимном пространстве имен или нет. Кто-нибудь знает хорошие времена, чтобы сделать это?