6
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【書評】新人プログラマーのためのエラーが怖くなくなる本

6
Last updated at Posted at 2023-10-01

はじめに

私自身、業界歴は長いもののキャリアのスタートがマークアップエンジニアということもあり、そこまでプログラミングがめちゃめちゃ出来なくても今まで何とかなっていました(何とかなってたというより、何とかなる様に自分自身が選択していただけかもしれませんが)
いつかはしっかりとエラーが読めて解決できるようになりたいとは思うものの、行数が長いエラーを見ただけで拒絶反応がでて原因を探るのが億劫に感じたりしていたので、書籍のタイトルの「新人」ではないのですが、少しでも拒絶反応が軽減できればと思い、購入してみました。

本の構成

kindle版では245ページと書かれていますが、私は物理本を購入しまして著書紹介の手前のページは194ページとなってました。
比較的にそこまで分厚くないので、合間合間で読んでたらすぐに読み終えるボリュームです。

第1章 エラーはどうして怖いのか?
第2章 エラーの上手な読み方
第3章 不具合の原因を効率的に見つけるには?
第4章 ツールを活用してデバッグを楽にしよう
第5章 どうしても解決できないときは?
第6章 デバッグしやすいコードを書こう

内容としてはJavaScriptのエラー例が多く、フロントまわりの仕事をしている私にとってありがたい内容でした。

エラーの上手な読み方

この章に書いてあるエラー文などは何度も見たことはあるのですが、「スタックトレース」を真剣に見たことはなく「なんか沢山行数が表示されてるけど、これなんだろ?」くらいにしか思ってませんでした(スタックトレースという名称も初めて知った)

不具合の原因を効率的に見つけるには?

ここでは二分探索が紹介されていました。
私は過去にMENTAというサービスでメンターにお願いしてプログラミングを教えてもらったことがあり、その時にアルゴリズムの問題として二分探索の問題を出題され、それを解いた事があります。
当時は言われるがままやらされて、これがどこに活かされるのか分からなかったのですがこういった箇所に活かされるのか、と点と点が繋がって線になった感覚がありました。
もっとしっかり取り組んでおけばよかった…(というより、これを覚えることによりどんなインセンティブがあるのか初学者は分からない)

ツールを活用してデバッグを楽にしよう

ここはChromeのコンソールにあるブレークポイントを使用してデバッグのやり方が丁寧に書かれてあります。
ステップ実行などはJavaScriptの学習で使用したことはあるのですが、条件付きでのブレークポイント等は初見でした。

それ以外では効率的な検索のやり方だったり、デバッグしやすいコードとは?という事が初学者向けに書かれてあります。

エピローグに書かれていた

エラーの読み方や、効率的なデバッグ手法は、先輩から後輩への口頭伝承によって伝えられることが多いように思います。
デバッグはプログラミングにおいて基本的なスキルにもかかわらず、いざ学ぼうと思ったときに道標となる情報が世の中には意外とありません。
そこで、デバッグのエッセンスを一冊の本にまとめることが本書の狙いでした。

という文章が印象に残りました。

この本を読んで「明日からエラーなんか怖くなくなった」とまではいかないですが、最低限の向き合い方や心構えは理解できたかと思います。

6
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?