児玉公信のレビュー一覧

  • リファクタリング 既存のコードを安全に改善する(第2版)

    Posted by ブクログ

    この本の一番の価値は、多分、GoFの本がそうであったように、頻出するパターンに名前をつけてカタログ化したことにあるのではないかと思う。
    一度で期待した通りに動作するプログラムが書けないのと同じように、一度で理想的なコードを書くことはできない。さらに、時間の経過による状況の変化もあり、最初のコードに手を入れることは必須になる。正しく動作させるためにデバッグが欠かせないのと同じように、リファクタリングも必ず必要だと考えたほうが良い。
    もし、言語が最初からこのカタログにあるものを最初からサポートするように作られていたら、最初からありがちなケースを排除するように誘導してくれるようになっていたら、ずっと楽ができるのにと思うも、現実、決してバグを生み出さいない言語が存在できないのと同じように、リファクタリングが不要になることなどないのだろう。

    0
    2025年11月07日
  • リファクタリング 既存のコードを安全に改善する(第2版)

    Posted by ブクログ

    読んでよかった。正直当たり前なことも書かれているけれどもいつも当たり前のことができているかというとそうではないので身が引き締まる思いだし、ステップバイステップでリファクタリング手法を解説してくれるので自信を持って安全に改善していくための土台になる。

    0
    2024年05月13日
  • リファクタリング 既存のコードを安全に改善する(第2版)

    Posted by ブクログ

    ITエンジニア歴6年目にしてようやく購入し、読破。今でも通用する有用なリファクタリング手法、「不吉な臭い」がよくまとまっており、書籍の文量・分厚さの割には読みやすい。
    「コマンドによる関数の置き換え」と「サブクラスによるタイプコードの置き換え」が読破時点では勉強になった。

    0
    2023年02月14日
  • リファクタリング 既存のコードを安全に改善する(第2版)

    Posted by ブクログ

    めちゃくちゃ実践的で大変役に立つ。半分以上がリファクタリングカタログ。
    リファクタリングの本なので当然ではあるがある程度の実践経験がある職業プログラマじゃないと面白くないとは思う。

    0
    2022年11月02日
  • UMLモデリング入門 本質をとらえるシステム思考とモデリング心理学

    Posted by ブクログ

    「入門」と名付けられているものの,さらに易しい本を使って UML に含まれるチャートをひと通り概観した後に手にするとよいかな,という印象。クラス図,オブジェクト図,ユースケース図といった概念モデルを中心に取り上げている点で物足りなさを感じるが,個々のチャートが指向しているものは何か,どのような点に注意してチャートを描く/読めばよいかを懇切丁寧に説明している点で良書である。

    0
    2012年12月12日
  • UMLモデリング入門 本質をとらえるシステム思考とモデリング心理学

    Posted by ブクログ

    ネタバレ

    メモ

    施工者の原要求、開発者の要求は区別する
    機能とは、原要求を実現するための手段。
    そして、これが開発者にとっての要求。

    UMLの記法も分かりやすい

    次のStepは、どんな開発タイミングで、どの程度の粒度で図を書くか。
    開発の中で実際にどう使うかは勉強する必要があると思った。

    0
    2012年01月21日
  • UMLモデリング入門 本質をとらえるシステム思考とモデリング心理学

    Posted by ブクログ

    ネタバレ

    長年、UMLでシステムについて記述する指導をしてきた技術士による集大成。
    本質をどうとらえて、どう記述するかを、システム思考とモデリングの際の心理から解き明かそうとしている。
    著者は、システムおよびUMLのコンサルタントであり、幅広い活動をされている。

    UMLを最初に勉強するのに適している。
    UML(Unified Modeling Language)はモデルを作るための道具(言語)だから。

    クラス図がUMLだとか、ユースケース図がUMLだと思っている人は、本書を読んで、もっと本質的な問題を理解するとよい。

    特に大事だと思う部分は、次の2箇所かもしれない。

    1-5 モデルには認識する人がいる。
    コラム「もの」を識別するということ
    モデリングとは、情報システムを開発する際に、ユーザの要求やシステムの全体像を図として見える形にすることです。

    1-5 モデルには認識する人がいる。
    は、
    1-5 モデルには認識する人が要る。
    ではどうだろう。

    8-1 状態機械図(state machine)は、状態図、状態遷移図とも呼ばれている
    モデルは、模型のことである。シミュレーションは日本語では模擬試験である。
    UMLで模型を記述するのは、模擬試験をするためであることが分かる。

    本書は、UMLの機能については万遍なく記述している。
    模型の鍵が何かが伝わってくる。

    モデルを作る際の鍵についての指針がほしいかもしれない。
    ステートマシン図は、状態機械図あるが、ステートチャート(状態図)、状態遷移図とも呼ばれている。
    状態遷移図は、模型作成の鍵の一つである。
    状態とは変数で表されるもの、条件で表されるものではあるが、
    対象(オブジェクト)の性質そのものである。そのため、対象の知識を、まず状態で表現するのがよい。

    体系(システム)とは、入力を出力に変換するものであり、
    状態とは、入力を出力に変換するために持つ内部の仕組みである。

    本書を読んだら、次に状態遷移図を勉強するのとよい。

    状態遷移図が分かれば、時系列図を描くとよい。
    通信、組込み、リアルタイム制御では、時系列図が必須だから。
    現在、ネットワークを利用しないシステムはないのだから。

    物理現象を扱うのであれば、刻時図は必須。
    回路設計、回路に応じた制御設計などなど。

    0
    2013年01月29日
  • UMLモデリング入門 本質をとらえるシステム思考とモデリング心理学

    Posted by ブクログ

    UMLの学習を始めるため購入。

    わかりやすい!なぜこのようになっているのかを経緯から説明してくれるので理解しやすい。

    0
    2009年10月07日
  • リファクタリング 既存のコードを安全に改善する(第2版)

    Posted by ブクログ

    先人の知恵やテクニックが盛り込まれている良書である。何度も読み直して、また、実践して、知識として定着させたい。

    0
    2025年06月02日
  • リファクタリング 既存のコードを安全に改善する(第2版)

    Posted by ブクログ

    現場でなんかイマイチだなー、と思ったコードは、不吉な匂いという概念で表現されていた。見える世界が変わった気がする。一度に理解し切るのは難しいので、繰り返し読みたい。
    途中比喩がわかりづらい部分あったので、Chat GPTに聞いて理解を深めた。

    0
    2025年04月14日
  • リファクタリング 既存のコードを安全に改善する(第2版)

    Posted by ブクログ

    序盤は概念的なところを学べてよい
    中盤なからはレシピ集という感じ。読みやすいし、実際にリファクタリングするときに参考にしやすそう

    0
    2025年03月03日
  • リファクタリング 既存のコードを安全に改善する(第2版)

    Posted by ブクログ

    リファクタリング(第2版): 既存のコードを安全に改善する

    マーチン・ファウラー氏の著書です。

    リファクタリングに特化した書籍です。
    リファクタリングのカタログと書かれている通り、良く使用するパターンを体系的にまとめ解説してあります。
    この本を読むことで、リファクタリングした後の形を知ることができ、あらかじめ書くコードの質も上がります。

    【本書で学べること・考えること】
    - リファクタリングの必要性
    - リファクタリングの準備
    - リファクタリングの体系的なパターン

    読んでみての感想です。

    サンプルコードはJavaScriptで書かれており、理解しやすいです。
    私の場合は、まとめながら例を自分の得意な言語に置き換えてみることで理解が進みました。

    この本のメリットは、体系的にまとめられたリファクタリングのパターンを学べるとともに、リファクタリング後のコードのイメージを持つことができることだと思います。
    それが持てると、最初から書くコードの質が上がると思います。

    この本のように網羅的に体系的にまとめられているのが、書籍の大きな強みですね。

    0
    2023年03月26日
  • リファクタリング 既存のコードを安全に改善する(第2版)

    Posted by ブクログ

    リファクタリングの手法について、それぞれ紹介されている内容は当然と感じる内容もあったりしますが、明確に言語化されて体系づけられている点や、具体的なコード例とともに説明されている点は良いなと思いました。後で参照する価値のある本だと思います。
    少しづつ改善していくプロセスなどはTDD本と共通するところもあると感じました。

    0
    2022年01月13日
  • UMLモデリング入門 本質をとらえるシステム思考とモデリング心理学

    Posted by ブクログ

    難しい。

    モデリングの本を読むのはこれが初めてだが、やはり難しかった。モデリングを実際にやってみるとわかるが、結果として作るモデルにこれといった正解がない。唯一の答えがあるわけではなく、答えと思われるものが無数に考えられる。モデリングの対象は1つだろうが、それを見る視点が複数あって、経験がまったくないうちは、よいわるいの判断基準もよくわからずどの視点を選ぶべきか迷うことが多い。

    第1章の「モデルが表現するもの」が、初心者には最も役に立った。

    0
    2012年06月21日
  • UMLモデリング入門 本質をとらえるシステム思考とモデリング心理学

    Posted by ブクログ

    UMLについて学ぶというよりは、物事を抽象化してモデル化することの意義とか、そーいうことをきっちり説明してくれていて、その辺りが特に勉強になった本。
    すっかり分かっている人がUMLの技法的な部分をちょちょっと頭に入れるには物足りないかもしれないですが、これから開発、設計の道を歩み始める人にはすごく良いと思います。

    0
    2011年05月24日
  • リファクタリング 既存のコードを安全に改善する(第2版)

    Posted by ブクログ

    リファクタリングを実装に合わせて行うのは同感。
    実行速度のチューニングはリファクタリングと相反していると考えがちだが、実は違う点はハッとした。基本に忠実にしっかり計測したい。
    カタログは全体を通してざっくり読んだので、必要に応じて読み返したい。
    データベースリファクタリングも少し気になった。

    0
    2021年06月06日
  • リファクタリング 既存のコードを安全に改善する(第2版)

    Posted by ブクログ

    リファクタリングに関する基本的な姿勢や考え方に関しては参考になる。
    ただ、具体的な方法についてはこの本でしか得られない情報というものはほとんどなくリーダブルコード、プログラマが知るべき97のことなどの有名所を読んでいればだいたいエッセンスとしては知っているなというものが多かった気がする。数ポイントを得るには読んだ方がいいが他の本を読んでいるならプラスになる事は少ないかなというイメージ。

    0
    2021年03月12日
  • UMLモデリング入門 本質をとらえるシステム思考とモデリング心理学

    Posted by ブクログ

    ネタバレ

    20191227特許の図の描き方を勉強できないかとペラペラ見た。UMLは細かすぎて片手間では難しすぎる(ドツボにはまる)ので、後ろの方に書いてあるけどパス。ただ図の概念とか起源とか参考にはなったかも。

    P2 モデリングとは「対象を深く知るために、その振る舞いを観察し、それを論理的に記述し、関係者と共有する活動」と定義します。
    まず、対象を、”境界を持ったシステム”として認識し、その構成要素を明らかにすること。次に、構成要素間の相互作用を明らかにすること。最後に、その相互作用がシステムの振る舞いとして、外部にどう表出されるかを明らかにすること。これに加えて、それらを関係者と共有できるようにモデルとして表現すること。

    モデリングの過程では、対象を観察してはモデルを作り、モデルを作っては壊しを繰り返して、より本質的なモデルに到達しようと努力します。

    P3 システムとは複数の要素が互いに影響を及ぼし合いながら、全体として複雑な振る舞いをする仕組み全体のことです。

    P11 ソフトウェアシステムのモデルの定義:「ある人のある状況に関する明示された解釈」byBrian Wilson
    ハードウエアシステムのモデルのモデルの定義:「関連ある現象を包括的にまとめ、そこに1つのまとまったイメージを与えるようなシステム」by印東太郎

    P14 インスタンス(例示):ひとつひとつの経験に属するものごと。概念:抽象化されたものごと

    P15 概念とは類似のインスタンス集合を作り、それに命名したもの。あるいは、ものごとを類似性によって集合に分類して命名したものである。

    P17 インスタンスを考えるときは、”ぎりぎりの際どい例(境界例)”を挙げて考えるようにする。誰かと概念を共有しているということは、それに含まれるインスタンスがほぼ一致しているということだと思う。際どい例を挙げることで本当に概念を共有しているかがわかりますし、互いに概念の境界を修正していくことができます。

    インスタンスを集めることが基本。人間活動システムでは、すべてのメンバーが挙げられていることは稀。そのためモデリングの際には与えられたメンバーから概念を請求に絞り込むのではなく、常にいくつかの可能性を抑えておくことが重要。人間の認識の仕組みはソフトウェアとは異なり、曖昧な概念や論理的な冗長性の上に成り立っている。

    P18 集合を形成するメンバーが共通に持つ性質を「属性種」、個々のメンバが持つ属性種の”値”を属性値と呼ぶ。

    P19 概念を型として扱う。型は属性種と操作を持ち、オブジェクト指向ではクラスの原型にあたる。型とはインスタンスを分類して概念化したもの。概念化は分類と命名によって行われる。

    P20 概念体系を再構築することが、本来的意味での「モデリング」である。モデリングではよりシンプルで頑強な概念体系を追求する。

    P21 モデルという言葉には、そのある人(認識主体)が解釈し言明した概念構造をその人とは別の人が理解しようとしていることが暗に含まれる→認識主体が誰なのか、あるいは誰のモデルなのかその立場や価値観を共有する必要がある。

    P22 認識主体にとって意味あることで、試行の容量に収まるものしか見えない。同じ言葉でも意味が微妙にずれる。=すべての階層の業務を横断的かつ総合的に扱うモデルは作れない。回想をまたがるシステムを作るときは、システム間の概念の対応付け、データの集約または分解などの翻訳機能を介する必要がある。さらに階層の境界も固定的ではない(なぜならもともと対象の味方なので)ので、環境に応じて柔軟に変化する。こうした認識主体を無理やり統合ではなく、それぞれ尊重してモデルを作る。

    P24-26 表1.1がよい。 システムの仕様定義には3つの観点がある。それぞれの観点から要求を分析することで、次の要素モデルを得られる。これら3つを合わせることで要求の合成モデルが出来上がる。Tom DeMarco

    #現在では()中のように呼ぶ
    機能モデル(機能側面)→データフロー図
    データモデル(静的側面)→ER図(Entity Relationship Diagram)
    状態遷移モデル(動的側面)→状態遷移図

    機能側面:システムが外部から何を受けて何を返すかを設計する。
    静的側面:時間の流れを任意の時点で止めてシステムで使われる概念同士のかかわり方を設計する。
    動的側面:時間の経過に沿って、あるいは事象の発生によって概念のインスタンスがどのように状態を変化させるかを設計する。

    機能側面:データフロー図。
    静的側面:オブジェクト図=機能ブロック?
    動的側面:状態遷移図。

    P28 UMLで定義されている13の図。

    0
    2020年04月05日
  • UMLモデリング入門 本質をとらえるシステム思考とモデリング心理学

    Posted by ブクログ

    概念・モデリングの使い方等は非常にわかりやすく書かれいているけれども、

    演習問題が初心者にはだいぶ回答するのが困難な本だと思いました。

    (自分がちょうどモデリング初心者です)

    実際にモデリングを行う教本と一緒に進める

    (もしくは先に行うかこの本を読んだあとにやっておく)方が効果的だと思いました。

    0
    2009年10月04日