概要
こちらの記事にもある通り、技術力を上げるためにエンジニアに関する書籍や技術書を1か月に1冊読んでいます。(現場が忙しく5~8月は読めていない泣)
今まで読んだ本はこちら
・2冊目(Docker系)
・3冊目(読みやすいコードの書き方)
・4冊目(世界一流エンジニアの思考法)
今回の書籍
今回の本を読む経緯は大学時代の学部友達が読んで面白かったよ!って言っていたのでとりあえず読んでみることに。。。
名著だと思うので皆さんもぜひ読んでみてください。
それがこちらです。
エンジニアの皆さんなら一度は聞いたことがあるオブジェクト指向について解説してくれる一冊です。
どういう経緯でオブジェクト指向ができたのかという歴史も知ることができます。またコンピュータでの処理の流れもわかりやすく説明されており、オブジェクト指向はもちろん周辺知識もかなりつくと思います。
読む前のオブジェクト指向の印象
「オブジェクト単位で考える思考法で、クラスを使ったりする。」
この程度でした。
読んでわかったこと
・オブジェクト指向はプログラミング以外でも適用可能だということ
・言葉の響きで避けていた、クラス、継承、ポリモーフィズムはとても便利だということ
・クラスはまとめて、かくして、たくさん作る
・ポリモーフィズムは呼び出す側をまとめる
・継承は、重複排除の仕組み
・コンパイラ方式は一括返還後機会に読ませる、インタプリタ方式は一文ずつ訳す
・静的領域:プログラムの開始に確保され最後まで固定される。
ヒープ領域:使ったら元に戻る領域
・OOPで書いたプログラムは有限のヒープ領域を使って書かれるのでメモリ効率がとても良い。
・クラスライブラリやフレームワークの概念、デザインパターンなど大方の枠ができた状態で残りを完成させる仕組み
・設計で使っていたシーケンス図、フロー図などはUMLに一部でありOOPを表現するための図が由来である。
・OOPから学ぶ設計のコツ(重複排除、部品の独立性、依存関係を循環させない)
・管理者側の視点のWF開発と開発者目線のアジャイル開発がありどちらもメリデメあり
さいごに
現在の現場でちょうどアジャイル開発を使っており、どのような経緯でアジャイル開発が生まれ、それがOOPと関係しているということが分かりドンピシャの内容だった。
ただ、OOPを早く使ってみたいと思う反面本書でも書かれていた、「使うことを目的にしない。適切なタイミングで使うことが一番力を発揮する。」ということを忘れないようにしようと思う。
今はクラスであまり書きなれていないこともあり、ChatGPTに壁打ちしながら練習中です。
あとは次に読む本を選定中です。。。
フルリモートになったので読むペースをあげて月一ペースにして目標達成をしたいところである。