ゴールデンウィークももう半分を過ぎてしまいましたね。そろそろ休みに飽きてきた方もいるのではないでしょうか?そんな皆さんに、ゴールデンウィークだからこそ、ゆっくり読みたい本を紹介します。
そう、時間があるときしか読めない分厚い本、所謂「鈍器本」と呼ばれるモノを、一冊読んでみませんか?
コードコンプリート
まずは、プログラマーなら一度は読みたい、けれどもかなりの分厚さなので、読み切れていない人もいるのではないかな、という「コードコンプリート」です。
二冊分冊と、かなりハードルが高そうな本ですが、ソフトウェア開発を初めたばかりの方でも読めるように書かれています。まず「ソフトウェア開発」をどのように進めていけばいいのか、というコードを書く前の話からはじまり、クラス設計をどうするかの話、そして後半は実際のコードにおけるベストプラクティスまで、幅広い範囲をカバーしています。最後まで読めば、自分のコードの書き方を見直す、良いきっかけになるのではないでしょうか。
ユースケース駆動開発ガイド
コードコンプリートは、コードをどう書いていくのか、というのが大きな主眼となっている本です。しかし、大きなソフトウェアを開発する場合には、「そもそもどうつくっていけばいいのか分からない!」という人も多いのではないでしょうか?そんな悩みを持っている人におすすめなのが、「ユースケース駆動開発ガイド」です。
ユースケース駆動開発ガイドは、ユースケース、つまりそのソフトウェアがユーザーにどのように使われるのか、という分析から、実際のクラス設計に落とし込んでいく流れを解説した本です。どの単位でクラスに分けるべきか?どのメソッドをどのクラスに持たせるべきか?など、設計を行う上で頭を抱えるポイントが、この手法に従うと体系的に進めていけるようになります。
次に紹介する「エリック・エヴァンスのドメイン駆動設計」の入り口としても使える、非常に面白い本です。
エリック・エヴァンスのドメイン駆動設計
この本は、発売以来多くの人びとの頭を悩ませてきました。ギルドワークスでは、一年書けてこの本の読書会を行っています。読むたびに新しい発見がある、そんな本です。
「ドメイン」という言葉を噛み砕くと「ソフトウェアを使うユーザの関心事」と言えます。ユーザーの関心事をモデルとして理解し、それを設計に、そしてソフトウェアに落としこむことで、変更に強いしなやかなソフトウェアを作ることができる、ということが語られています。内容の深さ・難しさから敬遠されがちな本ですが、まずはまえがきから、じっくりと読んでみてください。これまで意識してこなかったソフトウェアの作り方が見えてくるはずです。特に何度もソフトウェア開発を経験されている方なら、ハッとする事が何度もあるはずです。
アバウト・フェイス
最後に少し毛色の違う、けれどもとてもボリュームのある本を紹介しましょう。ユーザーインターフェースについて体系的に語られた本、「アバウト・フェイス」です。
この本には、ユーザーインターフェースの原則論だけでなく、ユーザーインタビュー・ペルソナなどデザインプロセスについても、体系的に紹介されています。まずこの一冊を読んでおけば、UIやUXと言った議論のスタート地点に立てる、そんな本です。
ですが、こちら絶版になっており、中古本は高騰しています。しかし、教科書的な本だけあって図書館にも多く入っているようです。
なお、英語では第4版が出版されています。
遊んでばかりのゴールデンウィークもいいですが、一冊くらい「これはやったぞ!」と思えるような達成感が感じられる「鈍器」本を、読みきってみませんか?
私は、About Faceの第4版、原著での一気読みにチャレンジします!
この記事もどうですか?
-
グランドルールを活用して安心して発言できる安全な場を作る
クライアントの現場と共に、課題を解決し、あるべき姿に向かうために活動している 現場コーチ では、ふりかえりなどのミーティングでファシリテートを担うこともあります。 そのようなふりかえりなど人が集まる意見を言い合い、議論する場では グランドル…
-
JP_Stripes Tokyo Vol.5のLT枠で登壇してきました ~ Stripeを1年使ってみて思ったこと ~
この記事は、 ギルドワークス アドベントカレンダー の14日目の記事です。 12月14日に行われた JP_Stripes (Stripe ユーザーグループ) Tokyo Vol. 5 — 拡がるStripeの使い方 のイベントに…
-
Amazon S3を利用して超低額でサイトを公開(設定編)
上野です。 Amazon S3を利用して超低額でサイトを公開する でS3でコーポレートサイトを公開するメリットを書きました。 今回は具体的な設定方法について書いていきます。 ※注意:この記事は2014年9月5日に GuildWorks Bl…
