平澤章のレビュー一覧
-
Posted by ブクログ
構造プログラミングの延長にオブジェクト指向プログラミングがあるという感覚がまったくなかったため、本書を読んで大変勉強になった。
私が初めてオブジェクト指向に触れたときは、カプセル化によって完結になる、継承によって似たオブジェクトを楽につくれる、のような新らしいことだけを聞かされ、構造プログラミングとはまるで別もののように感じていた。
しかし、本書を読んでみれば、カプセル化は、構造プログラミングのグローバル変数の問題を解決するために、その変数とそれを操作する関数のスコープを設定したものであるという説明が、継承、ポリモーフィズムは、抽象化したクラスを扱うことにより、構造プログラミングでは毎回コピーペーストして書き換えていたような違いを吸収するための関数を個別に作成する必要がなくなるという説明など的を射た解説があるため、オブジェクト指向というものについて構造プログラミングから地続きで理解することができた。
また、フレームワークという仕組みは、ポリモーフィズムなど継承が可能であるからこそ成立しているという話は、新鮮で大変納得した。
また、関数型プログラミングについての簡単な解説もついており、これもまた構造プログラミング→オブジェクト指向プログラミングと続いてきたものであり、ポリモーフィズムを別視点から実装していることなどが理解できて、よい補足だと感じた。
UMLの説明は、Languageであることが重要で、二次元を利用して設計を話すためのツールだという認識を持てたのがよかった。
オブジェクト指向を扱う初学者には、是非一読してもらいたい書籍で、今後人に勧めていきたいと思った。 -
Posted by ブクログ
この本の一番の価値は、多分、GoFの本がそうであったように、頻出するパターンに名前をつけてカタログ化したことにあるのではないかと思う。
一度で期待した通りに動作するプログラムが書けないのと同じように、一度で理想的なコードを書くことはできない。さらに、時間の経過による状況の変化もあり、最初のコードに手を入れることは必須になる。正しく動作させるためにデバッグが欠かせないのと同じように、リファクタリングも必ず必要だと考えたほうが良い。
もし、言語が最初からこのカタログにあるものを最初からサポートするように作られていたら、最初からありがちなケースを排除するように誘導してくれるようになっていたら、ずっと楽ができるのにと思うも、現実、決してバグを生み出さいない言語が存在できないのと同じように、リファクタリングが不要になることなどないのだろう。 -
Posted by ブクログ
オブジェクト指向の概要についてまとまっている。だいたい今のエンジニアはオブジェクト指向に一度は触れると思うので、この本はとりあえず読んでおく、はしておいても良さそうに感じた。
特に、オブジェクト指向が台頭してくるまでの歴史の話は、ハードウェアの進化が大きく関わっていると知らなかった。こういった歴史を知ることは好きなので、楽しく読めた。
現代は実行効率を気にしなくてもある程度大丈夫な分、よりわかりやすさと変更のしやすさを重視したソフトウェア開発が必要。日々良いコードとは何か、を念頭に置いて開発する。
各章には、その内容をさらに詳しく知りたい方向けに書籍の紹介もあるので、自分が気になった章は深掘りすることもできる。 -
Posted by ブクログ
ネタバレモデルとは、模型のことであり、シミュレーションが模擬試験であることが分かっていれば、
UMLで模型を記述するのは、模擬試験をするためであることが分かるはずである。
本書は、模型の作り方については、詳しく説明している。
しかし、3種類の図の選択に疑問がある。
クラス図、オブジェクト図は、模型の実装の段階でもよく、
先に、これらの実装に関する部分を知る必要がないのではないか。
ステートマシン図は、状態機械図あるが、ステートチャート(状態図)、状態遷移図とも呼ばれている。
状態遷移図は、対象の知識がないとかけないかもしれない。
そのため、分析をしながら作るのがいいかもしれない。
本書の状態遷移図のところだけまず勉強するのがよい。
状態遷移図が分かれば、時系列図を描くとよい。
通信、組込み、リアルタイム制御では、時系列図が必須だから。 -
Posted by ブクログ
リファクタリング(第2版): 既存のコードを安全に改善する
マーチン・ファウラー氏の著書です。
リファクタリングに特化した書籍です。
リファクタリングのカタログと書かれている通り、良く使用するパターンを体系的にまとめ解説してあります。
この本を読むことで、リファクタリングした後の形を知ることができ、あらかじめ書くコードの質も上がります。
【本書で学べること・考えること】
- リファクタリングの必要性
- リファクタリングの準備
- リファクタリングの体系的なパターン
読んでみての感想です。
サンプルコードはJavaScriptで書かれており、理解しやすいです。
私の場合は、まとめながら例を自分の得意な言語に置き換えてみることで理解が進みました。
この本のメリットは、体系的にまとめられたリファクタリングのパターンを学べるとともに、リファクタリング後のコードのイメージを持つことができることだと思います。
それが持てると、最初から書くコードの質が上がると思います。
この本のように網羅的に体系的にまとめられているのが、書籍の大きな強みですね。 -
Posted by ブクログ
『概念モデル』に関するモデリング技術(うちクラス・ユースケース・ステートマシン図)
の記述の仕方はよくわかりました。
一つ一つの問題がきちんとレッスン形式になっていたため、
そこを怠らなければ大まかなポイントはつかめるものになるのではないでしょうか?
でも、個人的に一番知りたかったプログラミングに繋ぐスキル(上流モデリング)に関しては
もともとこの本が概念を基準にしているだけあって、これだけで理解できるかというと
そうではないのだという感じでした。
その代わり、プログラミングのみではなく、ある程度なら日常の思考の組み立て方にも活用できる
汎用的な本だと思います。