むにえる牧場

毎日むにえるをつくっています

プリンシプルオブプログラミングを読んだ

通勤時間を使ってプリンシプルオブプログラミングを読み終えたので感想もといメモ書きです。 Kindleでセールになっていて、 ¥1,069- でした。安い。

概要

書籍のタイトルの通りプログラミングについての 原理・原則 を書き連ねた本になります。
具体的なコードでの記述などはありません。
そのため、実際に開発に携わったことのある身でないと実感は得られないように思えます。

プログラミングだけではなく、プログラマーとしての仕事の仕方、生き様についても書かれています。
ちょうど僕自身が業界3年目になるので、働き方の指針となるものを手に入れることができる良書でした。

プログラミングにおける「原理・原則」とは

「密結合なコードは良くない」
命名がダメ」
「xxxという法則に乗っ取って書くべき〜」

プログラミングという仕事に携わっていると、上記のようなダメ出しを言われることが稀に良くあります。
概念としてはわかるのですが、 何がどうなったら密結合とみなすのか、その具体的な線引きはどこにあるのか
といったことが、正直わかっていませんでした。
この書籍では、そんな部分を具体的にレベル分けして説明してくれます。

例えば密結合の部分に関して、もとい凝集度に関しては、

  • レベル1 暗合的強度
  • レベル2 論理的強度
  • レベル3 時間的強度
  • レベル4 手順的強度
  • レベル5 連絡的強度
  • レベル6 情報的強度
  • レベル7 機能的強度

と、段階に分けられています。
そして実務においてどのレベルを目指すべきか、その妥協点において書かれているのがありがたいです。(もちろんレベル7が一番良いのですが……)

気をつけようと思ったこと箇条書き

書籍を読んで気をつけようと思った点を箇条書きにしてみる。

  • 常にコードを読む人間を意識して書く
  • コードを書く時間と読む時間。圧倒的に読む時間の方が多い。
  • 複数のことを並行して解決しようとしない
  • 人間の短期記憶は拙い。メモやTODOコメントを活用すること。
  • 困った時はUNIXを思い出し、CLIに戻る
  • 人間には感情がある。いかに感情を殺して原則に乗っ取れるか。大事。

まとめ

原理原則について書かれている書籍なので、箇条書きにするのが難しい……
というか書籍の感想書くのってとても難しいですね。目次を全て書き出してしまいそうになります。

冒頭にも書いた通り、実務経験がない人にとっては少し実感が得られにくい本だと思います。
またこの本を読む前に、リーダブルコードあたりの本は目を通しておいた方が良さそうです。

プリンシプルオブプログラミングの中で関連書籍をいろいろとオススメしてくれているので、次はそのあたりを読もうかなと。

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)