プログラムの問題解決について

某記事に質問が良く来るのですが、本当に調べ方がわからないのかなって人が多かったので簡単に書きます。
といっても、僕は問題解決のプロというわけでもないですし、書くことは僕が経験してる中で思っている事になります。
もっとうまいやり方はあると思います。
異論は認めます。

前提

まずわからなかったら調べることが基本です。
人に聞くのもいいですが、インターネット上ではレスポンスは期待できません。
自分で調べたほうが速いです。
しかし、もし知り合いにスーパーハカーがいるのであれば、まず聞いてみるのもいいでしょう。
知り合いなら親身になって付き合ってくれるかもしれません。

問題解決の方法

問題というのは、大体以下の2つだと思います。

  • プログラムが起動しない
  • エラーが出て先に進まない

これらの問題解決の一歩を教えます。
前者の場合、「プログラム名 起動しない」といった単語で検索をかけ、調べます。
後者の場合、エラー文をそのまま検索にかけ、調べます。
簡単でしょ?

調べても出てこない

メジャーなソフトであるのに、調べた内容が出てこない場合は、

  • 自分の環境がおかしい
  • 何か余計な手順を踏んでいる、もしくは手順に不足がある

この2つです。
なぜかって?
僕のような人間が考えることは世の中のどこかの人が考えている、実践しているからです。
経験上、8割はこれに当てはまっています。ちなみに残り2割は僕のくだらない発想は一般的ではないためでした。


でもそれでも解決策はあるはずなんだ。そんな人は次です。

自分で調べる

ここら辺は非常にレベルが高いです。時間と労力を必要とするフェーズです。
手当たり次第試します。やることは単純です。

  • 手持ちの最小の環境で動かしてみる(理想はOSを入れた直後)
  • 設定ファイルがあるのであれば、内容をよく読み、設定をいじって動かすを繰り返す。

大体は、このあたりで解決します。

だめだつた

でもそれでもわからない。そんな調べている時間、私にはない。
このときに初めていろんな場所に聞いてみるものだと思います。


質問するときは、以下の内容は埋めましょう。

  • 手元の環境(使用しているOS、)
  • どのような手順を行ったら起きたか。(プログラムを起動したら、このボタンを押したら、このコマンドを打ったら、どのタイミングかわからないが使っていると必ず起きる等)
  • エラーが出ている場合は、エラーを全部書きましょう。(あまりにも長い場合はスクリーンショットをとっても良いが、基本的に文字が良い。)

特に、手順は具体的に書きます。
「なんかエラーが出るんだけど」などはプログラムの仕組み上、絶対にありえません。
基本的に同じ環境で同じ手順で動かしていれば同じトラブルに見舞われるはずです。(まれに時間的な問題もありますが。)
一番後ろの「タイミングがわからないけど、使っていると起きる」という内容も抽象的な感じがしますが、
問題の切り分けの観点から見ると、具体的な部類に入り、
おそらく使っているプログラムやプログラムが扱うプラグインに欠陥がある可能性も疑いやすくなります。

おまけ

海外のフォーラムは、違うサイトなのに同じ内容の質問や回答を目にすることがあると思います。
クローンサイトと呼ばれるものらしいですが、非常に検索の邪魔になります。(日本のQ&Aみたいなのもありますね)
僕は、検索結果の文脈からダブっていそうな部分を目で見て判断するという頭の悪い方法をとっています。
邪魔で仕方がないですが、元のQ&Aサイトが潰れたときのリスクを考えれば(クローンサイトがコピーをとっているのであれば)多少許せます。


また、同じ境遇に遭遇してる人がいるけど問題解決までに至っていないケースもあります。
これはある意味、自分がおかしいだけじゃなかったんだ、と思えるので、気持ち安心できます(両方おかしい場合もありえます)
その場合、僕はその人の環境を見える範囲で調べます。(大体、質問と一緒にマシンのスペックやプログラムのバージョンを載せているでしょう。)
それさえ載せてない人はクズ予備軍です。


逆に同じような内容の質問が大量に目について同じ回答を見つけた場合、
「こいつらは概出のトラブルも人に聞かないと解決できないゴミクズだ」と思うべきです。
当然、過去よりすばらしい的確な回答もあるかもしれませんが、少数派です。
つまり、同じ質問はありえません。僕が許しません。


以上です。すっきり。