デバッグするときの心得

これは新卒のときの自分もそうだったやつ↓

デバッグするとき初めに考えること

  • 100%再現する手順はあるか
  • 正常系(やりたい/やってほしい)処理はどのような内容なのか
  • 目の前の状態は正常系とどのくらい離れているのか = 今何がどこまでできているのか
  • どの処理(設定 etc...)でエラーになったのか
    • スタックトレース または エラーログの エラー行番号 を読む
  • エラー行番号の処理内容を把握し、正常系通りになっているか

このあたりが整理できた後、初めてデバッグツールなどで流れを追いかける。闇雲に何か変えてみるとうまくいっていない状態が再現できない。そうすると「なんか変えたら直った」となりやすい。根本解決していないので問題は再発しやすい。

デバッグするときやめた方が良いこと

  • まずスタックトレースを開く / consoleデバッグする
    • あるべき姿を把握していない状態でデータフローを追っても得るものは少ない
  • バージョンアップしてみる
    • 特にNode.jsのバージョンアップとかやりがち
    • さらに依存関係が絡まって複雑になる。大体のバグはバージョン関係ないのでやめた方が良い
  • とりあえず削除して再登録してみる
    • コンピューターは設定した通りにしか動作しない
  • エラー文で検索する
    • フレームワークのエラー文が出ている場合、誰が悪いのか突き止めづらい

アプリケーションも同じで、書いた通りにしか動かない。闇雲に対応するのではなく、まずは理想と現実の差分を出して理解しろ、という話だった。良い指導に恵まれたと思う。あとミドルウェア設定が最初の仕事だったのもラッキーだった。


特に初学者とかに役立ちそうなもんだけどな。