エラー解決に自分なりのやり方を見つけましょう
どうも、プログラミングあと5年早く始めておけばよかったなって思ってる筆者サイコショッカー太郎です。
初学者なんで記憶の整理がてらに記事を更新させてください。
今日はデバックの話を。
プログラミング学習のとあるカリキュラムで、初めてデバックをやってみました。
アプリケーションクローンをインストールしていって、ローカルで表示して、ところどころ抜けてるコードとか、間違えてるコードを修正していく作業なんですが。
「見てもわからん。」
これが最初の感想でして、
画面に張り付いて隅から隅までコードを見ていったんですが、わからん。
まあ、見て分かるような問題解いてもそれはそれで味のしない女の子を噛んでるようなアレなんですが(?)
(human ERROR (moral))
僕なりに出てくるエラーメッセージと戦う方法を模索してみたので、置いときます。
1.「とにかく頭じゃなく手を動かす」
初学者がやりがちなんですが、コード見て、なんとなく自力で分かりそうで、考えてみるんですね。
すると、フリーズして時間溶かしてるだけみたいなムダな時間過ごすんですよ。
そこで、もうわからんワード出たらすぐ調べる。
って言う当たり前だけどな方法がいいと実感しました。
No method errorが分からなかったら
メソッドが?エラー?ノー?と細かく考える前に、検索窓にコピペして何個か記事を読む方が早くて、賢いという事に気付きましょう。
上記だとメソッドはコントローラーに定義されてるものなのでコントローラーの記述を見て、
ちゃんと記述があれば次にカラムの方が怪しい。
みたいにすぐヒントが出ます。
2.「仮説→仮説潰し」
これは全部のファイルを眺めて違和感を探す作業をするという、小学生でも非効率と感じるような事をですね、
私、多分パニックだったと思うんですけどやりまして。
意味なかったです。
ボーボボのオチぐらい意味なかった。
そこで、まず、
なんとなくでも直感でも何でもいいから、何でエラー出てるか「仮説」を立てましょう。
・ERRORって書いてる場所で何か起きてないか
→エラー文をみてエラー出てるファイルを見直す
・コントローラーで定義したインスタンス変数、ここで使えない可能性ないか
→<%= @post....みたいなやつって大丈夫だっけ?
・モデルからデータ取得するコードの記述間違えてる?
・テーブルがそもそもちゃんとある?
→テーブル可視化ソフトで見てみると、、?
など、
少しでも怪しいと感じたらそこを調べるって感じで、
自分で立てた仮説を潰して回りましょう。
って感じです。
プログラミング中級者やベテランの方からしたら当たり前やないかいと言われそうですが、
僕の好きなマックスむらいさんも、
「タスクはできるだけ細分化してこなす。それを繰り返すのがビジネス」と言ってましたんで、エラーも細分化。そして解決していきましょう。
それでは、またなんか有れば書きますんで、Twitterフォローとかして下さい。
Twitter:program0832