News.jp(Javaに関する最新ニュース)」の安藤幸央氏が、CoolなプログラミングのためのノウハウやTIPS、筆者の経験などを「Rundown」(駆け足の要点説明)でお届けします。});プログラミングと検索エンジンは切っても切れないプログラミングと検索エンジンの関係は切っても切り離せないものです。プログラミングに役立つドキュメントやノウハウを探したり、参考になるサンプルプログラムを見つけ出せます。バグの回避方法を見つけたり、エラーメッセージを検索エンジンで探して、解決方法が見つかることも多いでしょう。良質のソースコードから、的確なアルゴリズムや、思いもしなかったようなコード例を見いだすのも新たな楽しみです。ここではプログラミングの際に便利に利用できるソースコード専用の検索エンジンをいくつか紹介しましょう。ソースコード専用の検索エンジンを利用した検索には以下のような利点が考えられます。雑多な情報の中から、サンプルコードのみを的確に見つけ出すことができるAPIや関数、フレームワークの使い方の凡例を知ることができる一般的に説明の少ないマイナーな関数・メソッドの利用法を知ることができるバグの例、脆弱なコードの例を探すことができるバグに対する的確な対処例を知ることができる書籍の公式サポートサイトのサンプルコードを見つけることができる一方、便利なばかりではありません。注意点としては、以下の項目が挙げられます。ソースコード専用の検索エンジンを利用した検索の「注意点」ソースコードのライセンスを配慮する。再利用、改変の際には特に注意する必ずしもバグのない、正しい例とは限らないことを認識するコメント文が不十分だったり、なかったりする場合もある目的のコードを見つけ出すコツを身に付ける必要があるソースコードを理解するうえでは、単独のソースコードを読み取ることも大切ですが、ソース全体のディレクトリ構造を読み、ファイル構成を読み取ることも大切です。大きな範囲を読み取ることによって、コード設計の思想や、デザインパターンなどの活用方法をも知ることができます。以下、数多くのソースコード専用検索エンジンを紹介しますので、目的や用途に合わせて、自分に合ったサイトと利用方法を見つけ出してください。SearchはGoogleが提供するソースコード専用の検索エンジン。キーワードの指定に正規表現が使える。単独のソースコードだけではなく圧縮されたファイルの中からもソースコードを抽出できるのが特徴。ライセンスを選択して検索できる。大文字小文字を分解して検索したり、大文字小文字を判別する・しないの指定が可能。パッケージ名やファイル名を指定し、検索範囲とすることもできる。Searchが対応していない言語でも、ファイルの拡張子で絞り込むという裏技も使える。KodersKodersのトップページ登録されている(検索対象となっている)ソースコードが膨大な検索エンジンで、言語別、ライセンス別に検索対照を絞ることができる。Eclipse、VidualStudio専用のプラグイン、Firefox用のプラグインや、ホームページに埋め込み可能な部品、企業内で利用できるエンタープライズバージョンも提供されている。Searchプラグイン]をご参照くださいCodeFetchCodeFetchのトップページ検索対象となる言語が多い検索エンジン。プログラミング関連書籍の中のコードも検索対象となっている。kruglekrugleのトップページソースコード、プログラミングに関する情報、関連するオープンソースプロジェクトを探し出せるサイト。Ajaxを活用したユーザーインターフェイスが小気味よく動作する。2.0」として進化している。有用なソースに投票することによって、ランキングが上下する。EngineのトップページJava、C/C++専用。多彩な検索オプションが利用できる。OSを限定してソースコード検索が可能。JExamples.comのトップページJavaの利用例検索。メソッドの使い方を検索する。projectなど、メジャーなソースコードを中心に探し出せるのが特徴。APIのトップページJavaDoc専用検索エンジン。クラス名検索を得意とする。Eclipse用プラグインもあり。NoClassDefFoundError対処用に各種jarファイルの在りかを知ることができる。DemoのトップページJavaの利用例検索サイト。あるオブジェクトから別のオブジェクトを生成するためのコード例を検索できる。Eclipseから直接利用できるプラグインも提供されている。API用の検索エンジン。クラスの継承の状態、関連するクラスやメソッドなど周辺情報を知ることができる。JavaDocの情報をABC順にブラウズすることもできる。利用しようとしているAPIがメジャーなプログラム内では、どのように使われているのかを知るには重宝するサイトである。jarhoojarhooのトップページクラス名やインターフェイス名をキーワードに検索すると、そのクラスがどのjarファイルに含まれるか検索できる。サーバサイドのエラーログなどで出現したクラス名から、どのjarパッケージがエラーを起こしているのかを的確に知ることができる。EngineのトップページJava専用のソースコード検索エンジン。あいまいなキーワードからも検索が可能。ライブラリやフレームワークを開発する際の指針として使えるだろう。LabsのトップページO'Reilly出版本の中のサンプルコード限定で検索できる。書籍を読みながら活用できるサイト。良いソースコードを書くためにソースコードの検索というソリューションは(プログラミング言語ではなく)言語の壁を越えて活用できます。世界中のソースコードを情報として活用するとともに、社内リソースや学内リソースを効果的に利用することにも使えます。ソースコードの再利用を促進するとともに、熟練プログラマーの技を知ることもできます。ソースコード検索には、コツやカンといったことも大切になります。API、関数の名前が分かっているなら、その名前をそのままキーワードとして検索しましょう。関連分野でよく使われる単語・用語を検索してみるのも効果的です。検索すると見つかるToDo、fixmeや「取りあえず」などのコメントを笑い飛ばしながら、より良いソースコードを書くための技を身に付けていきましょう!次回以降は、Javaプログラマーが聞いて役立つポッドキャスト番組を取り上げたり、開発の際に活用できる便利なツールを紹介していく予定です。ゆきお)1970年北海道生まれ。マルチメディアソリューションセンター所属。フォトリアリスティック3次元コンピュータグラフィックス、リアルタイムグラフィックスやネットワークを利用した各種開発業務に携わる。ソフトの開発、インターネットベースのコンピュータグラフィックスシステムなどを手掛ける。情報源となるWebページをまとめている。メールマガジンをご購読ください。申し込みページへITmediaはアイティメディア株式会社の登録商標です。