このケーススタディの主人公、A君は新米プログラマー、そしてEclipse使いです。
A君はチームリーダーから以下の指令を受けました。
プロパティーファイルhoge.propertiesから プロパティー一覧を取得し、System.outに出力する プログラムを作ってくれたまえ。納期は10分だ。 クラス名はHogeReaderね。
HogeReaderという名前がちょっとひっかかりましたが、 とりあえずクラスを作ります。 メソッド名も不明でしたが、とりあえず適当な名前にしました。 (名前はともかく機能が不明という場合には確認してから作りましょうね)
public class HogeReader { public void listProperties() { } }
さて、プロパティーファイル、えーとProp... あれ?プロパティーってどんな綴りだっけ? さすが新米プログラマーA君は、プロパティークラスの綴りさえ あやふやです。 JavaDocで調べようか?しかし納期は10分。ゆっくりしてられません。 A君はあわてません。なぜならA君はEclipse使いなのです。
そんな時はCTRL+Space!(コードアシスト)です。
Properteisを選択。importも自動生成されます。
A君はコーディングをすすめます。。
Properties prop = new Properties();
import java.io.*;
(A君的になんとなくjava.io系のインポートがたくさんある気がしたので。というか伏線)。
prop.load() (←load()もコードアシスト利用可)
prop.load(new FileInputStream("hoge.properties"));
ここまで打って、とりあえずコンパイル(CTRL+S)。
何かエラーがあるようです。。。
何のエラーだろう?新人プログラマーのA君にはよくわかりません。 ああ、なにが悪いんだろう?しかしA君はあわてません。 なぜならA君はEclipse使いだからです。
にマウスをあわせると、 エラー原因が表示されます。
さらにをクリックすると、 解決策が表示されます。
A君は時間もないので、とりあえず、例外をスローすることにしました。 (時間があれば確認しましょう)
最後にprop.list(System.out);
プログラムが完成しました。
さっそくA君は完成したソースをチームリーダーに見せました。
チームリーダー談
なんだ、このソースは! インデントが揃ってないぞ! しかもimportが*(アスタリスク)だ。 クラス完全指定にしろと言っただろ!
A君思ふ:10分だから急いでたんだよ。 ところで完全指定なんて決めてたっけ?
不満はありましたが、 そこは元気に答えます。
すみません!すぐ直します。なぜならA君はEclipse使い。 そんな修正はちょちょいのちょいということを知っているからです。 下手なやっつけプログラマーのように駄々をこねません。 そして、A君は新人といえ、 プロのグラマー、プログラマーなのです(?)。 (でも、疑問があったら後々のためになるべく聞きましょう)
ソースのフォーマット整形は 右クリック->フォーマット
importのカスタマイズは 右クリック->ソース->インポートの編成
完成
このあたりのありがちな変更は一瞬です。
A君はすぐ修正コードをチームリーダーに見せました。
ふむ。まあ、いいようだな。 ところで、クラス名さ、これじゃ何だから HogePropertyReaderにして。
A君思う:やれやれまたか。しかもHogeProper...もいかがなものかと思うぞ。
しかしA君は元気に答えます。
了解しました!
パッケージエクスプローラからHogeReaderを選択し、
右クリック->リファクタリング->名前の変更。
そろそろ絵を切り貼りするのに疲れてきた。。。
このような仕事をいくつかこなすうちに、 A君は、新人なのに出来るプログラマーとして、 チームリーダーはじめ、まわりの人たちに尊敬をうけましたとさ。
A君思う:Eclipse使いでよかった。
動作確認しましょうね。
コードアシスト、リファクタリング機能は
別にEclipseだけの機能というわけではなく、最近のIDEでは、
どれも実装されています。
ただ、IDEの中でも機能が豊富で、かつ使いやすいというので、
Eclipseはいいなぁと思います。
なお、IDEに依存しっぱなしもアレなんで、IDEなしでも、
コード作成、コンパイル、実行できるぐらいが吉。
もどる