全体で次の構成を使用する大規模なコード ベースを扱っています。
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;
'
'
}
私が後者を好む理由は、それがより簡潔である (コードが少ない = 潜在的なバグが少ない) ことと、同じ名前の複数の変数をスコープ内に同時に持つのが好きではないためです。とはいえ、最近は前者の使い方をよく見かけるようになりました。私が気付いていない2番目のアプローチの利点はありますか? (たとえば、コンパイル時間への影響、テンプレート化されたコードでの使用など...) いずれかのアプローチの利点は、もう一方のリファクタリングに十分な価値がありますか? 私が尋ねる理由は、コードに存在する 2 番目のアプローチは好きではありませんが、労力の量と、さらにバグを導入するという関連するリスクを考慮すると、リファクタリングに値するものではないからです。