TheAgileGuildで「システム設計の原則」を学ぶ

スポンサードリンク

ギルドワークス市谷さんが立ち上げた、TAG(アジャイルギルド)に参加しています

といいつつ、幽霊部員と化していますが・・・


システム設計の原則の勉強会の案内がありました

書物に基づく話ということですが、それは読んでないのですが
モノづくりでの疎結合・密結合のバランスや設計の意思などを
知りたくて参加です


コンセプト
good design enhances agility

変更を楽で安全にする実践技法

リファクタリング2.0
既存のコードを安全に変更できる

プログラミングが中核
設計=プログラミング
設計=ソースコードで行こう

変更が楽で安全であることが良い設計
成長させられるように

たくさんの要因に対してプラスに働く

ドメイン駆動設計
時間とともに硬直化していくものに対して進化するチャンス
柔軟性のある設計に近づける

4つの本の紹介
オブジェクト指向のコミュニティの設計思想がベースになっている

ビジネスルール
型指向のプログラミング
読みやすいソフトウェア
全体像 型のネットワークができる

15年の歳月
変わらない本質が明らかに
学ぶメリットがわかってきた

カプセル化、ポリモーフィズム
実装とインターフェイスは別


40年前から言われていること
本質が実証されている これからの方向性

計算と入出力は分けよ
ソースファイルを分割せよ
名前にこだわれ
同じような分岐を重複させない
長いメソッドを書かない
グローバル変数を使うな
mutableを避けよ
カプセル化せよ
実装継承は使うな


intellij IDAとgit
リファクタリングに画期的なツール

現状への危機感
設計の常識レベルの劣化

モジュール化、カプセル化、インターフェイス

危険な理由
硬直化したモジュール
うごけばok症候群

機能分割→データモデル→ワークフロー→API駆動

動いたことがゴールではない
わかりやすく書き直すことがどれだけ効果があるかを実感

力ずくのプログラミングが横行
長ったらしいソースコード

ビジネスルールの分離
ビジネスルールを題材にしているかに注意

ソフトウェアが複雑になる理由は適用する条件による分岐のため
ピジネスルールの記述を独立させる

ビジネスルールを記述できるようになれば良い

型指向のプログラミング
型は値の種類
金額や数量などの値を独自のクラスを作る
有効な値の範囲を定義する
値の種類ごとに必要な計算、判定のロジックを特定する

ビジネスルールを記述する3要素
ファクト、ルール、ゴール
値オブジェクト
数値、時間、空間
単一型、範囲型、範囲のコレクション

メソッド
四則演算と分岐
文字列表現がマイクロサービスで必要になってくる

型を使うと安定する

契約による設計
事前条件と事後条件
暗黙のビジネスルールの明文化

区分ごとのロジックを扱う
enumに寄せて区分をリファクタリングすると効果が大きい
条件分岐を整理する

コレクションのカプセル化
ぐちゃぐちゃ感が消える

型指向のプログラミングを体得すると
ビジネスルールの単位に見えるようになる

名前をちゃんとつけることに味を占めるとやるようになる

レビュー時には型のネットワーク図と自分の感覚と比較する


質疑応答と考察

switch文に絞って重複を減らすことから始めるのがよい

チームでやるには、バグを目の前でリファクタリングで対応してしまえばいいのだが、難しい言語もある

やって見せて実感してもらうのをどうやって仕掛けていくか

整理整頓
ビジネスルールの型指向

機能化するときにビジネスルールか否かを判断した上で
ビジネスルールを型やカプセル化すれば、非常にスッキリする
分岐つついてもれなくダブりなくの状況を作る
(要件の引き出し方は、また別の話)


発言を誰かがひろってくれる安心感

神保町の丸香で讃岐うどんを

関連記事

  1. カジュアルLT大会に参加 #engineers_…

    世の中にはカジュアル面接というのがあるらしいそれに合わせたようにカジュア…

  2. 正しいものを正しく作る #bpstudy

    BPstudy143正しいものを正しく作るに参加しました…

  3. 匠塾 大LT大会2020冬に参加 #takumi…

    匠塾 大LT大会 夏冬に開催される物理開催の頃に2回参加地球…

  4. 匠LT 2019冬 相互フィードバック重要 #t…

    匠method価値を大事にする良い考え方だなあと思っています…

  5. 多様な働き方のチームでどうやってアジャイルにやる…

    2019年4月25日に開催された月刊ギルドワークスに参加しました…

  6. おすすめの勉強会!

    マドびっ!作者の門屋浩文です2018年はいろんな勉強会に参加…

  7. クローバField(ホームページの作り方教室)に…

    妻がコーチングに関するビジネス向けホームページを作りたいというので…

  8. 自分の得意なことが陳腐化する状態を考え、そうなら…

    2017年6月に行われたプロジェクトマネジメントDAYに参加しました…

こちらもどうぞ

Twitter

最近の記事

毎日更新しています

2019年1月
 123456
78910111213
14151617181920
21222324252627
28293031  
PAGE TOP