プログラムを書いていて困ったことがあったらどうしていますか?
近くに詳しい人がいれば、すぐに聞けますが、あなたが知りたいときが、相手にとっては都合の悪い時間かもしれません。
そういうときは、知りたいときに質問をして、時間がある人が回答するという、エンジニア向けのQ&Aサイトを使ってみましょう!
回答する人が都合の良い時間に回答する、という仕組みなので、すぐに回答があるとは言えませんが、誰にも聞けないよりはマシでしょう。
ということで、今回は、エンジニア向けのQ&Aサイトと、Q&Aサイトで質問するときのコツをお伝えします!
この記事では、以下のような期待に応えます。
「エンジニア向けのQ&Aサイトをいくつか押させておきたい」
「Q&Aサイトで質問をするときのコツを知りたい」
Q&Aサイトはコミュニティの一種です。
利用するときは、質問者も回答者も、一般のユーザーであることを忘れないでくださいね。
それでは、Q&Aサイトを紹介していきましょう。
stackoverflow(スタック・オーバーフロー)
参考:https://ja.stackoverflow.com/
特徴
スタック・オーバーフローは、プログラマーとプログラミングに熱心な人向けのQ&Aサイトです。
ユーザー名、メールアドレス、パスワードの3つだけでユーザー登録が完了します。
ユーザー登録をしていないゲストのままでも、回答できることが特徴です。
また、ゲストのままでも、他の人の質問や回答を編集することもできます。
もちろん、荒らし行為による被害を避けるため、編集した内容はすぐに反映されることはありませんが、質問や回答の意味が曖昧と感じた場合は、積極的に編集して「こういうこと?」と問いかけるのも良いでしょう。
スタック・オーバーフローのやり方は、たくさんの人の知識を、なるべく多く集めるためのよい方法だと思います。
日本語圏のユーザーとのQ&Aだけでは解決しなかったときは、英語圏のユーザーが利用しているStack Overflowに挑戦してみても良いでしょう。
使い方
すでに解決策が投稿されているかもしれませんので、まずは、投稿済みの質問を検索しましょう。
質問をうまく見つけられなかったときは、質問を投稿します。
質問のタイトルをクリックすると、質問の本文が表示されます。
この画面では、質問を編集したり、コメントを追加したりできます。
さらに、回答を編集したり、別の回答を投稿したりできます。
質問や回答を編集できるのは、面白い仕組みですね!
teratail
特徴
teratailは、プログラミングに関する質問と回答を通して、価値ある知識が集まっているQ&Aサイトです。
teratailも、ユーザー名、メールアドレス、パスワードの3つだけでユーザー登録が完了します。
Markdown記法を使用できることは、スタック・オーバーフローと同じですが、teratailは質問時にテンプレートが作成されることが特徴です。
Q&Aサイトでの質問のコツをまとめた、良い仕組みですので、テンプレートに従って質問を書くと良いでしょう。
使い方
teratailでも、スタック・オーバーフローと同じ考え方です。
すでに解決策が投稿されているかもしれませんので、まずは、投稿済みの質問を検索しましょう。
質問をうまく見つけられなかったときは、質問を投稿します。
質問のタイトルをクリックすると、質問の本文が表示されます。
この画面では、コメントを追加できます。
また、回答にコメントを追加したり、別の回答を投稿したりできます。
Yahoo!知恵袋
参考:https://chiebukuro.yahoo.co.jp/
特徴
Yahoo!知恵袋は、エンジニア向けQ&Aに限らず、知識や知恵を教え合うサイトです。
カテゴリ分けがされており、エンジニア向けには「コンピュータテクノロジー」がオススメです。
参考:https://chiebukuro.yahoo.co.jp/dir/list/d2078297616/
この「コンピュータテクノロジー」カテゴリに投稿された質問から「機械学習」を検索すると約500件の質問が見つかりました。スタック・オーバーフローでは約100件、teratailでは約350件ですから、情報量ではYahoo!知恵袋が一番ですね。
なお、質問や回答を投稿するには、Yahoo! JAPAN IDが必要です。
このユーザー登録については、少しハードルが高く郵便番号などが必要ですが、すでにYahoo! JAPAN IDをお持ちの方は、あらためてユーザー登録をする必要がないことはメリットと言えるでしょう。
使い方
Yahoo!知恵袋も、上で説明したサイトと同じ考え方で使います。
すでに解決策が投稿されているかもしれませんので、まずは、投稿済みの質問を検索しましょう。
質問をうまく見つけられなかったときは、質問を投稿します。
質問のタイトルをクリックすると、質問の本文が表示されます。
Yahoo!知恵袋の質問には、「回答受付中」、「投票受付中」、「解決済み」の3種類のステータスがあります。
「回答受付中」は、新しい回答を投稿できる状態です。
「投票受付中」は、質問者以外の方が投票でベストアンサーを決めている状態です。新しい回答は投稿できません。
「解決済み」は、新しい回答を投稿できない状態です。投票も行われていません。
「回答受付中」の質問を表示したときは、回答を投稿できます。
Q&Aサイトでの質問のコツ
Q&Aサイトでの質問にはコツがあります。参考になるのは、teratailのテンプレートでしょう。
以下の内容を順番に丁寧に説明しましょう。
前提・実現したいこと
質問したいことを詳細に書きます。
何がどうなったら解決したことになるのか、期待していることを書きましょう。
たとえば、エラーメッセージが表示されるのであれば、「エラーメッセージが表示されないようにする」ことで解決したことになりますね。
発生している問題・エラーメッセージ
発生している問題を書きましょう。
エラーメッセージが表示されている場合は、エラーメッセージをそのまま投稿します。
親切なつもりで、エラーメッセージを要約してしまうと、質問がうまく伝わらなくなり、回答を投稿してもらえなくなるかもしれません。
エラーメッセージが表示されていない場合は、どのようになることを期待しているのかと、期待に反して現在どのようになっているのかを書きます。
該当のソースコード
プログラミング言語を明記した上で、問題点が明らかになるソースコード(動作するソースコード)を書きます。
回答者がソースコードをコピー&ペーストするだけで、問題が明らかになると、回答を投稿してもらえる可能性が高くなります。
動作しない状態のソースコードでも回答をもらえるかもしれませんが、実際に動作する状態のソースコードを投稿することをオススメします!
試したこと
問題に対して試してみたことを書きます。
「うまく動きません。」だけではなく「AとBを試しましたが、どれもうまくいきませんでした。」といった方が、適切な回答に素早く近づけるでしょう。
「頑張ったんだけどダメだった。」という努力をさりげなくアピールすることも必要です。
補足情報
プログラミング言語とそのバージョン、使用しているフレームワークとそのバージョンなど、ソースコードを動作させるために必要な情報を書きます。
詳細な情報が多い方が、適切な回答が得られるでしょう。
まとめ
エンジニア向けのQ&Aサイトと、質問する際のコツを紹介しました!
今回紹介したQ&Aサイトを押さえておけば、相当な数のユーザーの知恵を借りて、問題を解決できるはずです。
ただ、Q&Aサイトは、コミュニティの一種であることを忘れてはいけません。
質問をしてばかりでは嫌がられるでしょう。
質問に対する回答を投稿してもらえたらお礼を投稿するとか、他の人の質問に回答を投稿するとか、そういった協力も必要です。
Q&Aサイトの投稿者と仲良く知識を共有していってくださいね!