2009年10月アーカイブ

2009年10月26日の記事では、繰り返し使うJavaコードをメソッドとして別に定義する際に使用できる、
Eclipseの「メソッドの抽出」機能をご紹介しました。

繰り返し使うJavaコードといっても様々で、
メソッドとして切り出せるようなまとまった処理だけではありません。

 同じような式を何度も書いている・・・

ということもあるかと思います。

このような、何度も繰り返して使われる式は「ローカル変数として定義しておく」のがよいでしょう。

特に式が複雑な場合は、ローカル変数として切り出しておくことで、コード自体もすっきりし、
読みやすくなります。


Eclipseでは「ローカル変数への抽出」機能があり、簡単にローカル変数として切り出すことができます。

操作手順は「メソッドの抽出」方法と同様で、ローカル変数として切り出したい式を
エディター上で選択し、「ローカル変数の抽出」というメニューを選択するだけです。


(1)
Javaエディター上で、式を選択し、右クリックしてコンテキスト・メニューから
「リファクタリング」>「ローカル変数の抽出」を選択します。

extract_local1.png

(2)
「ローカル変数の抽出」ダイアログが表示されるので、変数名を入力します。

extract_local2.png

「プレビュー」ボタンをクリックすると、実際にどのようなコードが生成されるのかを
事前に確認することができます。

extract_local3.png

ここでは、新しい変数を宣言し、既存の式を新しい変数で置き換えて
くれることがわかりますね。

(3)
生成されるコードに問題がなければ「OK」ボタンをクリックし、ローカル変数の抽出を完了します。


なお、Eclipse3.4以降をお使いになられている場合は、クイックアシスト(Ctrl+1 キーを押すだけ)を使って
ローカル変数への抽出ができます。

ただし、クイックアシストを使うと「a + b」のような"+"演算子を含む式を
変数として抽出することができないようですのでご注意ください。

詳細は、Eclipse Bugzillaの下記ページをご覧ください。
https://bugs.eclipse.org/bugs/show_bug.cgi?id=276467


日本語 MyEclipse 7.5.1 ダウンロード提供開始

この度、日本語 MyEclipse の新バージョンをリリースしました。
新バージョンは、MyEclipse 7.5.1 の日本語対応版となります。

MyEclipse 7.5 では、Windows XP、Vista 環境の Internet Explorer 8 上で、
JavaScript アプリケーションのデバッグを直接実行できる

     Internet Explorer JavaScript デバッガー

をサポートしました。

これまでのバージョンでサポートしていた、Mozilla ベースのブラウザ向けの
JavaScript デバッガーと同様の方法で、Internet Explorer でのデバッグができます。


その他にも以下のような多くのエンハンスを行っています。

  • 実行中のアプリケーションにおけるメソッド実行時間やメモリ使用量が一目でわかる
   VisualVM Java プロファイラをサポート

  • 複雑な SQL 文もウィザードを使いながらビジュアルに組み立てることができる
   ビジュアル SQL クエリー・エディターをサポート

  • Sun Glassfish 2.1、WebSphere Community Edition アプリケーション・サーバーへの
   プロジェクトのデプロイや、サーバーの起動・停止をサポート

  • UML 2.0 機能のエンハンス

  • 既知問題の修正やパフォーマンスの向上

日本語 MyEclipse 7.5.1 新機能の詳細はこちら。
https://www.myeclipseide.jp/modules/contents02/index.php?id=9

日本語 MyEclipse 7.5.1 のダウンロードはこちら。
https://www.myeclipseide.jp/modules/contents02/


なお、既に日本語 MyEclipse サブスクリプションコードをご購入頂いているお客様は、
現在ご使用のサブスクリプションコードを使用して、最新版をご使用いただけます。

Javaのコーディングをしている時に

     同じようなコードを何回も書いているなぁ

ということはないですか?

毎回同じコードを書くのは面倒ですし、コピー&ペーストを繰り返したとしても
うっかりミスを起こしてしまう可能性もあるかと思います。

繰り返し使うコードは「メソッドとして別に定義しておく」とよいでしょう。



Eclipseには、「メソッドの抽出」という機能があります。
メソッドとして切り出したいコードの断片をエディター上で選択し、
「メソッドの抽出」というメニューを選択するだけで、
自動的に新たなメソッドを生成してくれます。

具体的な操作方法を見ていきましょう。

(1)
Javaエディター上で、メソッドとして切り出したいコード断片を選択します。


(2)
コードを選択した状態のまま、右クリックしてコンテキスト・メニューから
「リファクタリング」>「メソッドの抽出」を選択します。

extract_method1.png

(3)
「メソッドの抽出」ダイアログが表示されるので、メソッド名を入力します。

extract_method2.png

※「プレビュー」ボタンをクリックすると、実際にどのようなコードが生成されるのかを
   事前に確認することができます。

(4)
最後に「OK」ボタンをクリックしたら、メソッドの抽出作業が完了です。


メソッドの抽出操作の前と後とを見比べてみましょう。

【抽出前】
extract_method4.png

【抽出後】
extract_method5.png

抽出後のメソッドには、必要に応じて引数や戻り値も正しく設定されます。


なお、Eclipse3.4以降をお使いになられている場合は、クイックアシスト(Ctrl+1 キーを押すだけ)を使って
メソッドの抽出ができます。

こちらも、使い方はとても簡単です。
Javaエディター内で、メソッドとして切り出したいコードの断片をエディター上で選択し、Ctrl+1キーを押すと・・・

extract_method6.png


表示されたポップアップの中に「メソッドに抽出します」のメニューが表示されていますね。
さらに、右側には、実際にどのようなコードが生成されるのかが表示されています。

このメニューを選択すると、ダイアログなどは表示されず、すぐにメソッドの抽出が行われます。
生成されたメソッド名は、「extracted」という名前になります。

クイックアシストを使用した場合、メソッド名を自分で決めることができませんので、
変更したい場合はリファクタリングの「メソッド・シグニチャーの変更」メニューなどを利用して、
ご自分でメソッド名の変更を行ってください。


美瑛の紅葉

2009年10月16日に、北海道の美瑛に行ってきました。

 

前々日までの天気予報では「曇のち雨」となっていたので、「あまり期待できないな...」と思っていた

のですが、前日の天気予報で「晴れ」に変わり、実際に行ってみると見事な快晴。

 

ちょうど紅葉が見ごろだったこともあり、とても楽しい旅行となりました。

たくさん写真を撮ってきましたので、一部をご紹介します。

 

左端がオプタテシケ山、右端が美瑛富士です。

山頂ではすでに雪が積もっていました。

このときは夕方でしたので、山がほんのりオレンジに染まっています。

 

biei.png

 

まっすぐに伸びる道を車で走っていると、黄色一面の畑を発見。

 

biei2.png 

この黄色の植物は「キカラシ」と呼ぶそうです。

このまま畑にすき込んで緑肥(肥料)にするために栽培しているそうです。

 

そして、最近とても有名な観光地となった、白金にある「青い池」です。

blue-pond.png

水がとてもきれいな青色をしています。

池の青さ、山々の紅葉、空の青さがとてもよいコントラストになっていました。

立ち枯れの木が、またよい雰囲気を醸し出しています。

 

なお、「青い池」の場所は、ガイドブックなどには書かれていない場合があります。

JR美瑛駅から白金温泉に行く途中にあるのですが、詳細は検索サイトで探してみてください。

 

この日の気温はすでに一ケタ。

そして、雪虫が飛んでいました。もうすぐ雪が降るのかもしれません。

 

今日は、Javaの言語仕様の話です。

 

Javaの言語仕様では、クラス名、メソッド名、変数名などの識別子(identifier)は、

「Unicodeの文字列」であると定義されています。

 

すなわち、クラス名、メソッド名、変数名に日本語を使用することができるのです。

 

例えば、以下の処理の出力結果は、正しい値である「 1 」となります。


identifier-in-japanese.png

 

できれば実際に書いてみてください。「へえ~~~」となること請け合いです。

プログラムが日本語で書ける、というのは大変興味深いですね。

 

ただし、Unicodeの範囲であっても実際には使用できない文字(例えば読点「、」など)が

ありますので注意が必要です。

 

このような事情を知らない人がプログラムを見ると、強い違和感を感じることがあるようですので、

実務では日本語を使用しない方がよいでしょう。

 

※Java言語仕様における識別子の詳細は、
http://java.sun.com/docs/books/jls/third_edition/html/lexical.html#3.8
を参照ください。

Eclipseでgetter/setterを追加するには?

Javaでは、クラス内にフィールド(変数)を持たせて、別のクラスからそのフィールドに
アクセスする場合はgetter/setterというメソッドを使ってアクセスさせる、
ということをやります。

例えば、JavaBeansを作る場合などがありますね。

皆さんはEclipseでJavaコーディングをする場合、フィールドにアクセスするための
getter/setterメソッドをどうやって作成していますか?

Javaエディターを使って自分でガリガリと打ち込んでいるよ!

という方もいらっしゃるかと思います。


実は、Eclipseには、getter/setterを自動で追加してくれる機能がありますので
ご紹介したいと思います。

(1)
編集対象となるJavaファイルを「パッケージ・エクスプローラ」ビューなどで選択し、
右クリックしてコンテキスト・メニューから「ソース」>「GetterおよびSetterの生成」を選択します。

または、Javaエディター上の任意の位置で右クリックしても、同様のメニューが表示されます。


(2)
「GetterおよびSetterの生成」ダイアログが表示されます。

add_getter1.png

ここでは
  • どのフィールドに対するgetter/setterを追加するか
  • ソースのどの位置にgetter/setterを追加するか
などを指定することができます。

ダイアログで必要な項目を入力して「OK」ボタンをクリックすると・・・


add_getter2.png


自動でgetter/setterが追加されていますね!



なお、Eclipse3.4をお使いになられている場合は、クイックアシスト(Ctrl+1 キーを押すだけ)を使って
フィールドのgetter/setterメソッドを追加できます。

こちらも、使い方はとても簡単です。
Javaエディター内で、フィールド宣言部分をクリックし、Ctrl+1キーを押すと・・・

add_getter3.png


表示されたポップアップの中に「getterとsetterを作成します」のメニューが表示されていますね。

このメニューを選択すると、「フィールドのカプセル化」というダイアログが表示されるので、
実際に追加するgetter/setterのメソッド名や、ソースのどの位置に挿入するのかなどを指定したら、
完了です。


ぜひ使ってみてくださいね。


Eclipseのエディターでソースコードを作成していると、

 ちょっと印刷して、紙の上で確認したいな

と思うことがあります。

(紙に印刷したソースコードは、画面で見るのとは違って見えるから不思議です。)

 

Eclipseでは、次のようにすることでソースコードを印刷できます。

 1. 「ファイル」>「印刷」を選択する。

 2. プリンタドライバの画面が出てくるので、条件を設定して印刷する。

しかし、このままでは、印刷されてきたソースコードには行番号が入りません。

 

ソースコードが短いものであれば問題ないのですが、何百行もあるようなソースコードだと、

紙上でミスを見つけたとき、それがエディター上のどの辺りなのかを探すのが大変です。

 

そこで、印刷するときに行番号も一緒に出力するように設定しましょう。

これは、Eclipse 3.4 以降であれば、次のようにして設定します。

 

1. Eclipseのエディターで、次のようにして行番号を表示するように設定します。

 (1) 「ウィンドウ」>「設定」>「一般」>「エディタ」>「テキスト・エディタ」を選択します。

 (2) 「行番号の表示」にチェックを入れて、「OK」をクリックします。

2. ソースコードを印刷します。(具体的な方法は先に述べたとおりです。)

 

残念ながら、Eclipse 3.3 以前では行番号を印刷することができません。

Eclipse以外のエディターを使用する、印刷用としてのEclipse 3.4以降をインストールする、

などの工夫が必要になります。

 

Eclipseのエディターでソースコードを作成していると、例えば、

 26行目でコンパイルエラーが出た

というときに、

 26行目ってどの辺だ?

ということが、とっさにはわかりにくいことがあります。

 

デフォルト設定では、画面の下(ステータスバー)に、現在のカーソル位置が表示されます。
例えば下の図では、「上から26行目、左から14文字目」であることが示されています。

line-number01.png

図1: ステータスバー

 

しかし、いちいちステータスバーを見に行くのも面倒ですね。

 

そこで、エディターで行番号を表示するように変更しましょう。これは、次のように設定します。

 

1. 「ウィンドウ」>「設定」>「一般」>「エディタ」>「テキスト・エディタ」を選択します。

2. 「行番号の表示」にチェックを入れて、「OK」をクリックします。

 

line-number02.png

図2: 「行番号の表示」にチェックを入れる

 

これで、行番号が表示されます。

ほんのちょっとのことですが、これだけで編集がかなり楽になりますよ。

階段を上る途中で目に飛び込んできたもの

筆者の家から駅に向かう途中には、長くて急な階段があります。

 

朝、家を飛び出して階段を駆け上がっている途中で、ふっと、目に飛び込んできたものがあります。

それがこちら。

 

dandelion.png

 

たんぽぽです。

石の割れ目からきれいに咲いていたので、思わず立ち止まってしまいました。

 

「たんぽぽは春に咲く」と思いがちですが、調べてみると、秋に咲くこともあるようですね。

 

忙しい中でのちょっとした出来事でしたが、何か元気をもらえたような気がしました。

9月29日に、MyEclipseの開発元であるGenuitec社より
MyEclipse8.0のマイルストーン版(いわゆるベータ版)がリリースされました。

MyEclipse8.0は、Eclipse 3.5(Galileo)をベースとしており、

  • Struts2 フレームワークのサポート
  • MyEclipseの中で必要な機能のみインストール可能
など、魅力的な機能エンハンスがあります。

その他にも、WTPプロジェクトのサポートや、サポートするアプリケーション・サーバーの追加など、
細かいエンハンス項目も盛りだくさんです。


MyEclipse8.0のリリースが楽しみですね!

EclipseからJavadocを生成するには?

作成したJavaソースのAPIリファレンスを生成するには、Javadocというツールを使います。
JavadocはJDKに同梱されており、APIリファレンスを生成したいJavaソースを
コマンドライン引数として与えて実行すれば、簡単に生成できます。

例えば、test.javaというJavaソースのAPIリファレンスを生成する場合は、コマンドプロンプトから

    <JDKインストールディレクトリ>\bin\javadoc.exe test.java

のように実行します。


EclipseでJava開発をしている場合

    Eclipse上で開発したJavaソースのAPIリファレンスを生成するときも
         コマンドプロンプトからjavadoc.exeを実行するの?


と思ったことはないでしょうか?

実は、コマンドプロンプトを開かなくても、EclipseからJava API リファレンスを生成することができます。

具体的には、Eclipseのエクスポートダイアログを使います。

(1)
Eclipseメニューから「ファイル」>「エクスポート」を選択し、「Java」>「Javadoc」を選択します。

create_javadoc1.png

(2)
次のページへすすみ、
  • Javadocコマンドのロケーション
  • APIリファレンスの生成対象とするJavaソース
  • APIリファレンスの出力先
などを指定します。

create_javadoc2.png

指定したら、「終了」ボタンを選択しましょう。
これで、APIリファレンスの生成が完了です。


APIリファレンスの出力先として、現在作業中のJavaプロジェクト内を指定すると、
Eclipseの「パッケージ・エクスプローラー」ビューなどで多くのファイルが生成されていることが、
すぐに確認できますね。

create_javadoc4.png

index.htmlをダブルクリックすると、作成したJavaソースのAPIリファレンスの内容が確認できます。


チーム開発で他のメンバーが作ったAPIを使用するときに、APIリファレンスがあるとコーディングがしやすくなるので、
Javadocを生成しておくことはとても重要です。
ぜひこの機能を活用してくださいね。


なお、Javadocにパスを通しておくと、エディター内で[Shift] + [F2]とすることで、
すぐにJavadocを参照することができます。
パスの通し方の詳細は
EclipseでAPIリファレンスをすばやく参照するには?その3
をご覧ください。


Eclipse 3.5.1 がリリースされました

9月26日に、Eclipse 3.5.1 がリリースされました。

 

これは、Eclipse 3.5.0のバグフィックス版です。

約240個のバグを修正しているそうです。

修正内容の詳細は以下のURLにあります。

 http://www.eclipse.org/eclipse/development/readme_eclipse_3.5.1.html#DefectsFixed

 

Eclipse 3.5.1のダウンロード、インストール、日本語化の方法につきましては、
2009年7月10日の記事をご参照ください。

MyEclipse とは?

MyEclipse は、JavaEE 開発全般をサポートする Eclipse プラグインです。
開発がすぐに始められ、環境統一やメンテナンスも簡単!

MyEclipse ポータルトップへ

機能一覧ページへ

MyEclipse は 30 日間無料でお試しいただけます。

無料体験版ダウンロードはこちら

おすすめリンク

ブログ記事の一覧ページはこちらへ。

さくさく開発ガイドへ

当ブログの内容には執筆者の個人的見解が含まれることがありますが、これらは、所属する組織・企業の立場、意見、解釈を代表するものではありません。