検索は力なり!プログラミングで困った時に検索するコツ

こんにちは。たかです。

日々プログラムに触れる中で避けて通れない壁が「検索」です。

この記事に辿り着いたプログラマー・エンジニアの中には「ググれ」と雑に追い返された経験がある方も多いのではないでしょうか?

筆者もプログラミング学習する段階でこの「ググれ」の壁にぶち当たりました。

今回はそんな壁を乗り越えるための検索テクニックをご紹介します。

1. キーワードをスペース区切りで検索する

最初のコツが複数キーワードでの検索です。

Googleの検索エンジンではスペース区切りのキーワードを複数の条件としてセットして検索してくれるので、「Javaforeach文」と検索するよりも「Java foreach文」と検索する方が正しくヒットします。

また、前半に置いてる単語の方が検索時の比重が高いとみなされるために重要なワードを前半に置いて検索するようにしましょう。

2. 特殊文字は言語をセットで検索する

プログラムを読んでる際、「$」「&」「@」などの記号の意味がわからず検索したのにGoogleでヒットしなくて困った、という経験がある方も多いのではないでしょうか。

例:「./ 意味」など

「¥」とかでエスケープすれば検索できるのでは?と思われるかもしれませんが2022年の5月時点では検索できません(10年以上前からそのような記載があるため、今後も検索できるようになる可能性は低いと思ってます)。

そんな検索できない記号ですが、記号 + 言語名をセットで検索するとヒットさせることができます。

例えば、Javaでアノテーションを調べたい(アノテーション自体知らない)時にはGoogleの検索フォームに以下のように入れてみてください。

「Java アットマーク」

上記のように検索するとアノテーションについての記事が出ます。

もしヒットしない場合は記号の英語名を記載して検索したり、セットにする文字を増やしたりして検索してみてください。

以下に代表的な記号およびよく使う読み方を載せておくので参考にしてください。

記号読み方英語
!エクスクラメーションexclamation
シングルクォートsingle quote
ダブルクォートdouble quote
^キャレットcaret
`リバース・シングル・クォートreverse single quote
#ハッシュマークhash mark
$ドル記号dollars
%パーセントpercent
&アンパサンド、アンドampersand、and
~チルダtilde
ハイフンhyphen
/スラッシュslash
\バックスラッシュbackslash
*アスタリスクasterisk
;セミコロンsemicolon
:コロンcolon
_アンダースコアunderscore

※複数名称あるものについてはよく使用する名称に絞ってます

3. 日本語でヒットしなければ英語で検索する

初心者向けではないですが、英語で検索するということを覚えておいて損はないです。

※英語をマスターしなくても単語ベースで検索すれば大体出てくる

なぜ英語で検索するのかという理由ですが、主に以下の3つになります。

  • 英語圏の人口が圧倒的に多い

まず当たり前ですが、世界的にみて一番使用されてる言語が英語なので英語で調べると有利ということがあります。

  • プログラミング界隈(OSSなどのコミュニティ等)では英語が公式言語

GithubなどでOSS(オープンソースソフトウェア)などを調べてみるとわかりますが、公式言語として英語を使用しているものがほとんどです。

  • そもそもプログラミングが英語

これはみなさんわかると思いますが、if文、for文の「if」「for」自体が英語です。

上記のような理由から、特に検索結果が少なくなりがちな最新の技術を調べる場合は英語が適してたりします。

4. エラー文で検索する

プログラミングをやってて検索する場面の多くがエラーが出た際の検索ではないでしょうか。

筆者も初心者の際にエラーを出した時、まず検索してました。

ただし当初は検索方法など調べず我流で検索していたため、回答にたどり着くまで時間がかかったり、そもそも見つけられなくて質問をすることで解決してました。

エラーについては別途記事にてどのように向き合うべきか記載しますが、初心者から中級者手前まではまずエラーになったら質問する前に自力で検索してみることをお勧めします。

補足

その他にもたまに使うテクニックとして「””」(ダブルクオーテーション)で文字を囲むと完全一致として検索する、や「-」を付けると検索結果から除外する、等のテクニックもありますが、あまり使わないため今回は省きました。

検索結果を見るときのコツ

1. 検索結果の1ページ目は全部見る

これはタイトル通りですが、検索結果は関連度が高い順に並んでいるので、まずは最も関連度が高いと判断された1ページ目については答えが出るまで全て確認してみることをお勧めします。

それでも結果がうまく出ない場合、2ページ目をみるか検索文字を修正するかを選ぶことになりますがそれについては検索の場数がモノをいう世界なので慣れるしかないです。頑張ってください!

2. 記事の更新日を確認する

検索結果を確認する際、更新日時をチェックするようにしましょう。

具体的な目安を明言するのは難しいですが、筆者はフロントの技術については1年以内のものを、サーバーサイドについては3年以内のものを確認してます。

※ただし、調べる内容や自分の使用している環境によって個々の幅は変わるので、最終的には自己判断になります

あまり意識してなかった方については是非とも今日から意識するようにしてみてください。

3. 公式ページを一番最初に探す

フレームワークやプラグインなどに関する使用を調べる場合、まず最初に目を通すべきは公式ページもしくはドキュメントです。

検索対象に公式なものがあるかどうか、まず調べてみることをお勧めします。

以下にサンプルを載せておくので、参考にしてください

  • React

https://ja.reactjs.org/

  • Spring Boot

https://spring.io/projects/spring-boot

など

4. Stack Overflowで探す

エラー検索の際に特に役立つサイトがStack Overflowです。

https://stackoverflow.com/

こちらのサイトでは日々さまざまな技術に関する質問が飛び交っており、エラー文で調べた場合に必ず一度はヒットするほどの質問量があるため、通常検索の際にヒットしなければこちらのサイトに行って質問を検索したり、自ら質問してみるのをお勧めします。

英語で検索する、という部分でも触れましたがプログラミングに関しては英語のものが多いので、それに慣れるという意味でもこのサイトを日常的にチェックしてみるとよいと思います。

※日本語版のページもあるが、そちらについては圧倒的に量が少ないので参考にしない方が良いです

以上で本記事は終了となります。

プログラミングをしていくう上では必ず必要となる「検索」ということについて、一人でも多くの方の参考になれば嬉しいです。