Vì vậy, tôi có một lớp học. Đó là một lớp học hữu ích. Tôi thích rất nhiều. Hãy gọi nó là MyUsefulClass
. MyUsefulClass
có phương pháp công khai. Hãy gọi nó là processUsefulData(std::vector<int>&)
.có nên sử dụng chức năng trợ giúp của lớp C++ không? Là thành viên, miễn phí, hoặc không gian tên anon?
Bây giờ giả sử processUsefulData
thực sự hai điều và tôi muốn cấu trúc lại nó từ này:
std::vector<int> MyUsefulClass::processUsefulData(std::vector<int>& data)
{
for (/*...*/)
{
for (/*...*/)
{
// a bunch of statements...
}
}
for (/*...*/)
{
for (/*...*/)
{
// a bunch of other statements...
}
}
return data;
}
Bây giờ, tôi muốn chia những trách nhiệm này và viết lại các mã như
std::vector<int> MyUsefulClass::processUsefulData(std::vector<int>& data)
{
doProcessA(data, dataMember_);
doProcessB(data, otherDataMember_);
return data;
}
Vì vậy, tôi không biết nếu tôi nên làm cho hai chức năng trợ giúp miễn phí chức năng hoặc chức năng thành viên, và khi mỗi sẽ là thích hợp. Tôi cũng không biết liệu tốt hơn là làm cho họ trong một không gian tên vô danh hay không. Có ai biết thời gian tốt để làm điều này?
Việc tổng quát như thế này sẽ không giúp bạn có được câu trả lời hay. Mỗi tình huống phụ thuộc vào những gì bạn đang làm. –