少し前に、
という記事があって、その時は自分もブックマークで「新規に書く場合はそうすべきだと思う」とか言っていたのだけれども。最近ちょっと意見が変わりました。
m 又は _ をつけた方が良い理由は以下のとおりです。
確かに IDE では、フィールドとローカル変数や、パラメータと区別がつくけどコードは必ずしも IDE 上でだけ見るわけではない。コマンドラインで git --diff することもあるし、ブログに引用されるかもしれない*1。コードのポータビリティー(どの環境でもそれなりにわかりやすくする)はそれなりに確保すべき。
フィールドと引数は往々にしてかぶる。その場合、 typo に弱くなる。例えば
class Product { private static final double RATE = 0.8; private int price = 1; public void setPrice(int price) { if (price >= 100) { this.price = (int)( RATE * (price - 100) + 100); } else { this.price = price; } }
を間違えて
class Product { private static final double RATE = 0.8; private int price = 1; public void setPrice(int plice) { // r と l を typo if (price >= 100) { this.price = (int)( RATE * (price - 100) + 100); } else { this.price = plice; // r と l を typo } }
としてしまった場合、間違いをみつけることが非常にむずかしくなる。
以上です。