私の意見では、ここでの「ベストプラクティス」は「そうしないでください」です。レビューしているコードでそれを見つけた場合は、すぐにフラグを立てます。ケースによってのみ異なる2つの変数があることは、起こるのを待っているだけの誤解です。myThing
メンテナンスプログラマーが数か月または数年後にやって来て、の代わりにうっかりして割り当てを行うのは簡単すぎMyThing
ます。
後で追加:
コメント提供者は、大文字/小文字の命名規則を置き換えるための私の提案を求めました。そのためには具体的な例が必要です。Book
プロパティが1つしかない 単純なクラスがあるとしますTitle
::
public class Book
{
public string Title { get; private set; }
}
ここで、コンストラクターが必要です。一般的な規則は、プロパティの小文字バージョンを使用することです。
public Book(string title)
{
Title = title;
}
または、あいまいさがないことを確認したい場合:this.Title = title
。
これはコンストラクターでは問題ないという議論をすることができます。そして、すべてのコンストラクターが非常に単純だったとしたら、そうかもしれません。Title
しかし、私の経験では、コンストラクターがほんの数行を超えると、との区別title
が失われます。コンストラクター以外のメソッドについて話していると、問題はさらに悪化します。いずれにせよ、別の規則が必要です。
何を使う?ttl
たとえば、パラメータで使用されている略語をさまざまに使用して見ました 。または、のようなものbookTitle
で、Intellisenseを使用するとよりわかりやすくなります。私の意見では、大文字と小文字だけが異なる名前を使用するという慣習よりもどちらかが望ましいと思います。