🔍

公式ドキュメント、技術書、ググる の使い分け

2021/05/10に公開

書いたきっかけ

プログラミング中に困ったときに何を参照するか

エンジニアはプログラミング中に分からないことに突き当たります。
そして 何かしら を参照して解決策を見つけ(または思いつき)問題の解決を行います。

何かしら には大きく4つほどあるんじゃないかと思っていて

  • 公式ドキュメント
  • 技術書
  • ググる
  • 動画
  • 人に聞く

あたりではないでしょうか。
慣れてる人は自然と使い分けていますが初学者は不適切な使い方をして遠回りをしているようにも見受けられます。

どういった場合に、どのコンテンツが最適なのか。
ほげみ視点でまとめたいと思います。

各コンテンツの特徴

公式ドキュメント

大正義。唯一の一次情報。ほかは二次情報でしかない。
だいたいの記事に書いてあることは公式ドキュメントに書いてある。
n時間ググった結果公式ドキュメントに小さく書いてある なんてことも。
英語版しか存在しない場合もある。DeepLで頑張ろう。

技術書

個人的には技術書を1ページ目からくまなく読む必要はないと思っている。
困ったときに目次を開いて必要な部分だけ読む。
付箋とかで印をつけてもいい。

ググる

一番使われるのだがノイズが多いのも事実。
スクールが運営するアレなサイトはブロックしている。
魑魅魍魎な検索結果の中から真に価値あるページを探り当てるには経験とカンが必要。

動画

記事よりも情報量や情報の解像度があると思っている。
また作業中の脳内で考えていることを言語化してくれるので参考になる。
ドットインストールやUdemyが有名。オンラインサロンとかの動画教材は知らない。
海外YoutuberはライブコーディングやUIクローンなどの動画が豊富。
私のライブコーディング動画

コピペできないのでGitHubのリポジトリが無いときつい。
見ただけで使いこなせた気になってしまうので注意が必要。

人に聞く

最強。なぜなら使い分けを他人にしてもらえるから。
あなたに返ってきた回答はその人がググった結果を右から左に流してるだけかもしれない。
しかし侮るなかれ。質問者が持っていない語彙やアプローチでググってくれたりするので結果も違う。
しかし、その時間を奪うことを忘れてはならない。
チーム開発とかなら適切に質問を飛ばそう。
独学で学んでいる場合はハードルが高い。

実場面での使い分け

以上、5種類を○○なときはxxが向いてる形式でまとめてみました。

関数の使い方や記法を思い出したい時

for の書き方ってどうだったけ?
map とかの引数てどうだったけ?

→ ドキュメント内でページ内検索
→ 「言語名 for」とかでググって公式ドキュメントを見る

ググって適当なサイトを見がち。
それでもいいとは思うがノイズが多いので見分ける勘が必要。

最新技術を使っている時

(大前提)ドキュメントをまず舐めるように見て最新技術を使おう。

→ 公式ドキュメント、英語記事、GitHub Issueあたりが向いてる

困った問題があったとしても、書籍はおろか、まとめられた記事さえ少ない(日本語なら尚更)
GitHubのIssueをくまなく探し、自分でIssueを建てることも視野に入れる。
英語力が試される。DeepLで頑張ろう。

新たに2個めの言語・FW等を学ぶ時

  1. 公式ドキュメントを一通り読む。
  2. ハンズオン型の技術書やハンズオン連載記事を見ながら実際に手を動かす。

公式ドキュメントを読んで雰囲気を理解したあとは、チュートリアルとかでなにか動くものを作ってみよう。
ハンズオン型の技術書が役立つ。(実践○○、作りながら学ぶ○○)

すでに自分で作ったプロダクトがあるなら丸々新しい言語・FWで作り直すのいいかも。 (とTwitterのコメントでいただきました)

これについて私も賛成です。というか実践していました。
Vueで作ったプロダクトをReactで作り変えて学んだり。
メリットとして、

  • ロジックとかは頭にあるので爆速で開発できる
  • 関連付けて覚えられる(Vueではこうしたけど、Reactではこうなのか~)

これらの経験は技術選定などでも役立ちます。

すでに出来上がっているプロダクトというのはチュートリアル以上に「リアル」なのでチュートリアルをやる以上に価値があります。

他の実装を参考にしたい時

GitHubのプロジェクトのソースコードを読む。
言語やFWのREADMEには使われているサイトリンク集みたいなのがあることも。
オープンソースもあるので参考になるかも。ただし、チュートリアルレベルで止まっているものもあるので気をつけたい。
似た思想を持つ言語、FWで探してみるのもアリ。
(Vueで設計やロジックに迷ったとき、Reactでググってみて参考にする)

頭が混乱してきたとき

公式ドキュメントや技術書を流し読みしよう。
体系だって知識が再インストールされるので何かをキッカケに解決の糸口が見つかるかも。

まとめ

書いていて思ったがやはり公式周りが強い(当たり前)

それぞれ適切な使いみちがあると思います。
私の個人的な使い分けです。皆さんの使い分けやマサカリをコメントへお願いします。
皆さんが自分に合った使い分け方を模索していくときの参考になり無駄な時間を1秒でも削れれば幸いです。

Discussion