見出し画像

読もうぜ!プリンシプル オブ プログラミング!

こんにちは!HITO-Link CRMのエンジニアk.miuraです。サウナに入ってから急激に左目の視力が悪化したと思ったらメガネを取り違えていたことに翌朝気づきました、メーカーもフレーム色も右目の度数も同じという罠。
今回は、最近買ったオススメの本、プリンシプル オブ プログラミングを紹介したいと思います。

どんな本なの?

プログラミングにおいて重要な101個の原理原則(プリンシプル)をまとめた本です。下記の7つの章に分けてプリンシプルを紹介しています。

・第1章-前提 〜プログラミングの変わらぬ真実〜
・第2章-原則 〜プログラミングのガイドライン〜
・第3章-思想 〜プログラミングのイデオロギー〜
・第4章-視点 〜プログラマの観る角度〜
・第5章-習慣 〜プログラマのルーティーン〜
・第6章-手法 〜プログラマの道具箱〜
・第7章-法則 〜プログラミングのアンチパターン〜

さらに、ひとつひとつのプリンシプルについて、どういうこと?(What),どうして?(Why),どうすれば?(How)の3つの観点から非常に簡潔に説明されています。圧倒的読みやすさです。

誰にオススメ?

個人的見解ですが、下記の人たちにオススメです。

・プログラミングし始めたけど、色々悩みや疑問が尽きない初級プログラマ
・プログラミング完全に理解した気になってる中級プログラマ

本書のサブタイトルが「3年目までに身につけたい 一生役立つ101の原理原則」とあるので、想定読者が3年目までの初級プログラマであることは間違いないでしょう。
ただし、本書は簡潔に説明している分、説明の抽象度は高いです。具体的なコードの例もあえて省略されています。そのため、まだ一度も現場でプログラミングをしたことがない人の事前学習には不向きと思います。現場でプログラミングをしたことがある人が実体験に照らしながら読むことでより効果を発揮する本だと思います。

自分の場合は6年目でこれを買いました。自称中級プログラマです。この立場から読むと、だいたいのプリンシプルは「それな」っていう感じになります。物足りないと感じる人さえいるかもしれません。
それでも中級プログラマにオススメする理由は二つあります。
一つは、「知らないと恥かくかも」というレベルの知識が漏れてないかおさらいするのに役立つから。
二つ目は、経験則を一般論として正しく言語化することができるからです。中級プログラマは、今までの経験でなんとなくいいコードと悪いコードの見分けがつく感覚を持っている状態だと思います。しかし、なぜそれがいいのか悪いのか改めて説明しようとしてみると意外と難しいと感じる場面があるではないでしょうか。この本を読むことで、きちんと第三者に説明可能な形で今までの知識の棚卸しをすることができると思います。

ここがオススメ!

本書のもっとも重要なポイントは、プログラマにとって普遍的な価値観を学ぶことができるところです。
普遍的な価値観に則ってプログラミングをすることで、自分のコードに根拠が生まれます。根拠を持ってコードを書けることは、自信につながりますし、その人がレビューをする際の説得力も上がってくると思います。

また、プログラマとしてのバランス感覚を養うのにも適していると言えます。プリンシプルは絶対ではありません。プリンシプルを100%遵守すればいいコードになるか?というとそうではありませんし、プリンシプル同士はときに競合します。
そんなときには「ケースバイケース」「要はバランス」な対応が必要になります。適切なバランス感覚を持って対応するためには、そもそものプリンシプルに対する正しい理解が必要になります。

最後に余談ですが、本書の一つ目のプリンシプルは「プログラミングに銀の弾丸はない」から始まります。かっこよすぎませんか・・・?(笑)
プログラマなら誰もが知ってる名言ですが、これを一番最初に持ってくるセンス!グッと心を掴まれること間違いなしです。中二病的にも刺さりました。プログラマは全員中二病なので全員読むべきだと思います!!

以上です、最後までお読みいただきありがとうございました!

定期的に会社の情報を得たい方は、下記フォームから登録おねがいいたします〜!

よろしくおねがいします!

この記事が気に入ったらサポートをしてみませんか?