ゴールデンウィークももう半分を過ぎてしまいましたね。そろそろ休みに飽きてきた方もいるのではないでしょうか?そんな皆さんに、ゴールデンウィークだからこそ、ゆっくり読みたい本を紹介します。
そう、時間があるときしか読めない分厚い本、所謂「鈍器本」と呼ばれるモノを、一冊読んでみませんか?
コードコンプリート
まずは、プログラマーなら一度は読みたい、けれどもかなりの分厚さなので、読み切れていない人もいるのではないかな、という「コードコンプリート」です。
二冊分冊と、かなりハードルが高そうな本ですが、ソフトウェア開発を初めたばかりの方でも読めるように書かれています。まず「ソフトウェア開発」をどのように進めていけばいいのか、というコードを書く前の話からはじまり、クラス設計をどうするかの話、そして後半は実際のコードにおけるベストプラクティスまで、幅広い範囲をカバーしています。最後まで読めば、自分のコードの書き方を見直す、良いきっかけになるのではないでしょうか。
ユースケース駆動開発ガイド
コードコンプリートは、コードをどう書いていくのか、というのが大きな主眼となっている本です。しかし、大きなソフトウェアを開発する場合には、「そもそもどうつくっていけばいいのか分からない!」という人も多いのではないでしょうか?そんな悩みを持っている人におすすめなのが、「ユースケース駆動開発ガイド」です。
ユースケース駆動開発ガイドは、ユースケース、つまりそのソフトウェアがユーザーにどのように使われるのか、という分析から、実際のクラス設計に落とし込んでいく流れを解説した本です。どの単位でクラスに分けるべきか?どのメソッドをどのクラスに持たせるべきか?など、設計を行う上で頭を抱えるポイントが、この手法に従うと体系的に進めていけるようになります。
次に紹介する「エリック・エヴァンスのドメイン駆動設計」の入り口としても使える、非常に面白い本です。
エリック・エヴァンスのドメイン駆動設計
この本は、発売以来多くの人びとの頭を悩ませてきました。ギルドワークスでは、一年書けてこの本の読書会を行っています。読むたびに新しい発見がある、そんな本です。
「ドメイン」という言葉を噛み砕くと「ソフトウェアを使うユーザの関心事」と言えます。ユーザーの関心事をモデルとして理解し、それを設計に、そしてソフトウェアに落としこむことで、変更に強いしなやかなソフトウェアを作ることができる、ということが語られています。内容の深さ・難しさから敬遠されがちな本ですが、まずはまえがきから、じっくりと読んでみてください。これまで意識してこなかったソフトウェアの作り方が見えてくるはずです。特に何度もソフトウェア開発を経験されている方なら、ハッとする事が何度もあるはずです。
アバウト・フェイス
最後に少し毛色の違う、けれどもとてもボリュームのある本を紹介しましょう。ユーザーインターフェースについて体系的に語られた本、「アバウト・フェイス」です。
この本には、ユーザーインターフェースの原則論だけでなく、ユーザーインタビュー・ペルソナなどデザインプロセスについても、体系的に紹介されています。まずこの一冊を読んでおけば、UIやUXと言った議論のスタート地点に立てる、そんな本です。
ですが、こちら絶版になっており、中古本は高騰しています。しかし、教科書的な本だけあって図書館にも多く入っているようです。
なお、英語では第4版が出版されています。
遊んでばかりのゴールデンウィークもいいですが、一冊くらい「これはやったぞ!」と思えるような達成感が感じられる「鈍器」本を、読みきってみませんか?
私は、About Faceの第4版、原著での一気読みにチャレンジします!
この記事もどうですか?
-
なかなか身につけるのが難しい開発の習慣
世の中には色々な開発に関するプラクティスがあります。特にアジャイル開発の文脈では、テスト駆動開発やペアプログラミングなど、多くのプラクティスが知られています。 ただ、実際にこれらのプラクティスを行おうとしても、「時間がない」「細かい部分のや…
-
GitHub最新人気リポジトリ【2018年版】
これは ギルドワークスイベントカレンダー 13日目の記事となります。 普段、仕事やプライベートで、何か新しい技術を学ぶ時、githubでサンプルコードを探して、手元で動かすということを行っています。 そこで今回は2018年も終わりに近づいて…
-
キャンバス・マップをまとめてみる(後半)
ギルドワークスの佐々木です。 IT業界に出回っている様々な「 キャンバス 」や「 マップ 」をまとめてみたいと思います。 前半の記事 では◯◯キャンバスについてまとめました。今回は後半として◯◯マップをまとめてみたいと思います。 目次 以下…
