1.今回の読んだ記事
No.86 WETなシステムはボトルネックが見つかりにくい
著者: Kirk Pepperdine
2.記事の概要
DRY(Don't Repeat Yourself:同じことを繰り返すな)原則
アンチパターン:WET(Write Every Time:必要なものをその都度書く)
- WETになりがちなパターン
- 例えば、xのリストのなかから、yなものを探す等の処理、各々が毎回実装してしまいWETになりがち
- 対象領域(ドメイン)の状況に適合した設計をしよう!
3.この記事を選んだ理由・感想
理由
設計について、意識してることについて議論したかった
4.議論
よい設計(DRYで可読性が高く変更が容易等)をするために気を付けていること
- 変更も容易に加えることができて、拡張性があるように設計できたらよいと思っている
- ただ時間が経ったり、想定外の要求があってそのとき考えた方針とは違う方向に行ってしまう場合もあって、結果うまくいかないときもある
- 共通化できるところは、なるべく共通化するようにする
- 同意見多数
設計のアンチパターンについて(自身の経験や想定しうるもの)
- 以降の改修を見据えて、処理を共通化するように設計・実装したが結果あまり意味がなかったりした
- 想定の仕様や要件ではなくなったので、せっかく共通化したが意味がなかった
- アンチパターン?というか悪い設計・実装になっていることにあとから気づいて文句を言ったことがある
- 実装の指針があったのにその通りではなかった
- 似ている処理だが少しだけ違う場合はどうするか悩む
- 共通化はしたいがどこまで共通化するか難しい?
- 単体試験などがしにくいのはよくないので、試験も見据えて設計を気を付ける
- (あるチームは)ドメイン駆動の設計をやったと思うがよかったか?
- あまり使われないシステムなので効果が測れていない
DRY(Don't Repeat Yourself)は前回のエッセイでも出てきた
- DRY、重要なので意識しましょう!
まとめ
弊社もコロナ禍により、在宅勤務となりまして会議は基本オンラインで行っている。今回は「オンライン + 飲み会」で開催してみた。
終わった後は、本格飲み会へ移行して懇親会を行った。
オンラインだと、話す人が決まってしまうということがあるが、「読書会」という議題があることと議長による指名があったので一通りみんな発言して議論ができたかなと思う。飲み会(アルコールあり)ということで議事が少なめですみません。
次回に続く。