Я имею дело с большой базой кода, которая использует следующую конструкцию в
class MyClass
{
public:
void f(int x);
private:
int x;
};
void MyClass::f(int x)
{
'
'
this->x = x;
'
'
}
Лично я всегда использовал и, следовательно, предпочитаю форму
class MyClass
{
public:
void f(int x);
private:
int _x;
};
void MyClass::f(int x)
{
'
'
_x = x;
'
'
}
Причины, по которым я предпочитаю последнее, заключаются в том, что он более краткий (меньше кода = меньше потенциальных ошибок), и что мне не нравится иметь несколько переменных с одним и тем же именем в области видимости одновременно, где я могу избежать этого. Тем не менее, в наши дни я вижу прежнее использование. Есть ли какой-то потенциал для второго подхода, о котором я не знаю? (например, влияние на время компиляции, использование с шаблоном кода и т.д.). Преимущества одного из подходов достаточно значительны, чтобы рефакторинг был другим? Причина, я спрашиваю, что, хотя мне не нравится второй подход, присутствующий в коде, количество усилий и связанный с ними риск введения дополнительных ошибок не совсем заслуживают рефакторе.