「Java News.jp(Javaに関する最新ニュース)」の安藤幸央氏が、CoolなプログラミングのためのノウハウやTIPS、筆者の経験などを「Rundown」(駆け足の要点説明)でお届けします。(編集部)
プログラミングと検索エンジンの関係は切っても切り離せないものです。プログラミングに役立つドキュメントやノウハウを探したり、参考になるサンプルプログラムを見つけ出せます。
さらにバグの回避方法を見つけたり、エラーメッセージを検索エンジンで探して、解決方法が見つかることも多いでしょう。良質のソースコードから、的確なアルゴリズムや、思いもしなかったようなコード例を見いだすのも新たな楽しみです。
さて、ここではプログラミングの際に便利に利用できるソースコード専用の検索エンジンをいくつか紹介しましょう。ソースコード専用の検索エンジンを利用した検索には以下のような利点が考えられます。
一方、便利なばかりではありません。注意点としては、以下の項目が挙げられます。
ソースコードを理解するうえでは、単独のソースコードを読み取ることも大切ですが、ソース全体のディレクトリ構造を読み、ファイル構成を読み取ることも大切です。より大きな範囲を読み取ることによって、コード設計の思想や、デザインパターンなどの活用方法をも知ることができます。
以下、数多くのソースコード専用検索エンジンを紹介しますので、目的や用途に合わせて、自分に合ったサイトと利用方法を見つけ出してください。
Google Code SearchはGoogleが提供するソースコード専用の検索エンジン。キーワードの指定に正規表現が使える。また、単独のソースコードだけではなく圧縮されたファイルの中からもソースコードを抽出できるのが特徴。また、ライセンスを選択して検索できる。大文字小文字を分解して検索したり、大文字小文字を判別する・しないの指定が可能。さらに、パッケージ名やファイル名を指定し、検索範囲とすることもできる。Google Code Searchが対応していない言語でも、ファイルの拡張子で絞り込むという裏技も使える。
登録されている(検索対象となっている)ソースコードが膨大な検索エンジンで、言語別、ライセンス別に検索対照を絞ることができる。また、Eclipse、VidualStudio専用のプラグイン、Firefox用のプラグインや、ホームページに埋め込み可能な部品、企業内で利用できるエンタープライズバージョンも提供されている。
編集部注:Kodersについてさらに詳しく知りたい読者は、連載CoolなEclipseプラグインの第6回「サンプルコードの入手をサポートするプラグイン」の[Koders Searchプラグイン]をご参照ください
検索対象となる言語が多い検索エンジン。プログラミング関連書籍の中のコードも検索対象となっている。
ソースコード、プログラミングに関する情報、関連するオープンソースプロジェクトを探し出せるサイト。Ajaxを活用したユーザーインターフェイスが小気味よく動作する。
現在は主に、ソースコード共有サイト「byteMyCode 2.0」として進化している。有用なソースに投票することによって、ランキングが上下する。
Java、C/C++専用。多彩な検索オプションが利用できる。プログラミング言語ごとに検索できるとともに、Linux、Windowsといった OSを限定してソースコード検索が可能。
Javaの利用例検索。メソッドの使い方を検索する。Apache Jakarta projectなど、メジャーなソースコードを中心に探し出せるのが特徴。
JavaDoc専用検索エンジン。クラス名検索を得意とする。Eclipse用プラグインもあり。NoClassDefFoundError対処用に各種jarファイルの在りかを知ることができる。
編集部注:Kodersについてさらに詳しく知りたい読者は、連載CoolなEclipseプラグインの第6回「サンプルコードの入手をサポートするプラグイン」の[DocJarプラグイン]をご参照ください
Javaの利用例検索サイト。あるオブジェクトから別のオブジェクトを生成するためのコード例を検索できる。Eclipseから直接利用できるプラグインも提供されている。
Java API用の検索エンジン。クラスの継承の状態、関連するクラスやメソッドなど周辺情報を知ることができる。JavaDocの情報をABC順にブラウズすることもできる。利用しようとしているAPIがメジャーなプログラム内では、どのように使われているのかを知るには重宝するサイトである。
クラス名やインターフェイス名をキーワードに検索すると、そのクラスがどのjarファイルに含まれるか検索できる。サーバサイドのエラーログなどで出現したクラス名から、どのjarパッケージがエラーを起こしているのかを的確に知ることができる。
Java専用のソースコード検索エンジン。あいまいなキーワードからも検索が可能。ライブラリやフレームワークを開発する際の指針として使えるだろう。
O'Reilly出版本の中のサンプルコード限定で検索できる。書籍を読みながら活用できるサイト。
ソースコードの検索というソリューションは(プログラミング言語ではなく)言語の壁を越えて活用できます。また、世界中のソースコードを情報として活用するとともに、社内リソースや学内リソースを効果的に利用することにも使えます。ソースコードの再利用を促進するとともに、熟練プログラマーの技を知ることもできます。
ソースコード検索には、コツやカンといったことも大切になります。API、関数の名前が分かっているなら、その名前をそのままキーワードとして検索しましょう。また、関連分野でよく使われる単語・用語を検索してみるのも効果的です。
検索すると見つかるToDo、fixmeや「取りあえず」などのコメントを笑い飛ばしながら、より良いソースコードを書くための技を身に付けていきましょう!
次回以降は、Javaプログラマーが聞いて役立つポッドキャスト番組を取り上げたり、開発の際に活用できる便利なツールを紹介していく予定です。
■@IT関連記事
■関連書籍
安藤幸央(あんどう ゆきお)
1970年北海道生まれ。現在、株式会社エクサ マルチメディアソリューションセンター所属。フォトリアリスティック3次元コンピュータグラフィックス、リアルタイムグラフィックスやネットワークを利用した各種開発業務に携わる。コンピュータ自動彩色システムや3次元イメージ検索システム大規模データ可視化システム、リアルタイムCG投影システム、建築業界、エンターテインメント向け3次元 CG ソフトの開発、インターネットベースのコンピュータグラフィックスシステムなどを手掛ける。また、Java、Web3D、OpenGL、3DCG の情報源となるWebページをまとめている。
ホームページ
Java News.jp(Javaに関する最新ニュース)
所属団体
OpenGL_Japan (Member)、SIGGRAPH TOKYO (Vice Chairman)
主な著書
「VRML 60分ガイド」(監訳、ソフトバンク)
「これがJava だ! インターネットの新たな主役」(共著、日本経済新聞社)
「The Java3D API仕様」(監修、アスキー)
Copyright © ITmedia, Inc. All Rights Reserved.