近棟と申します。
Yuichi Tsuchimoto <yuichi@....jp> wrote On Fri, 31 Aug 2001 09:23:46 +0900:
>> 私や同僚が何回かはまったのは
>> 単に member 変数の更新をしているつもりが
>> local 変数の宣言と初期化になっている
>> というパターンです。
>> 特に、大丈夫なはずの refactoring でおかしくなり、悩むケースが多いです。
>> Java は local 変数どうしの shadow は怒ってくれるのに、
>> これは何も言ってくれないのですよね。
>>
>> class A {
>> private int _size;
>> resize(int newSize) {
>> int _size = newSize;
>> // ^^^ この "int" が余計。
>> }
>> }
私はこういうのを回避するためにメンバ変数を触る時には必ず this.〜 で
触るようにしてます。アンダーバーとかnew〜みたいなヘッダは付けずに。
class Main {
private int size;
void resize(int size) {
int this.size = size; // 見た目にも明らかに間違い...
}
}
コンパイルすると...
------------------------------
Main.java:4: 文ではありません。
int this.size = size;
^
Main.java:4: ';' がありません。
int this.size = size;
--
―――――――――――――――――――――――――――――――――――
三菱電機 生産システム本部 情報システム技術センター プロジェクト推進部
システム技術グループ (岸本ビル8F 814区) 近棟 稔(ちかむね みのる)
私送便:「本社(岸本ビル) 情技セ プロ推 プロシ技 近棟」
Email: Minoru.Chikamune@....jp
TEL: (外線:グループ宛)03-3218-2121 (内線:ほぼ直通)7-321-2121
―――――――――― Powered by Debian/GNU Linux ――――――――――┘