[DDD Alliance! 3週連続DDD 第2週]まとめ

「DDD Alliance! 3週連続DDD 第2週」のツイートまとめです。 http://ddd-alliance.connpass.com/event/18961/ 編集自由です。
1
kanonji @kanonji

技術的なリファクタリングは、マイクロリファクタリングと書いてあったから、これが技術的なリファクタリングと違うってのは、わかりやすかったかもなぁ #DDDAlliance

2015-09-10 20:25:02
Takehiro Inoue @i_takehiro

いわゆる「リファクタリング」は技術的観点の話であるが、ここでは「モデル」の探求、「ドメイン層」の設計の観点から捉える #DDDAlliance

2015-09-10 20:25:09
Satoshi Kumada @prudence3298

マーティン・ファウラーのリファクタリングは技術論として書かれているが、エバンスはそれをドメインの観点からの応用として書いている #DDDAlliance

2015-09-10 20:25:56
kanonji @kanonji

重複したコード、関心事が複数箇所に散らばっている。これ、心当たりあるけど、たまに、近いものに見えるけど、全ての要素が少しずつ違うという、どう1個の概念に抽象化していいかわからない事があるんだよなぁ #DDDAlliance

2015-09-10 20:27:36
大島則人 @n_ohshima

分割では無くて抽出。難しい… #DDDAlliance

2015-09-10 20:27:43
Satoshi Kumada @prudence3298

「分割」ではなく「抽出」する #DDDAlliance

2015-09-10 20:27:43
大西 真央 @mmmmao0530

意識したことなかったけど、確かに分割と抽出の違いって重要やなー。 #DDDAlliance

2015-09-10 20:28:20
fukajun @fukajun

分割ではなく抽出 => 大きなものを小さく分けるのではなく、そのなかに含まれている意味のあるかたまりを抽出する #DDDAlliance

2015-09-10 20:28:22
Yuki Yoshikawa @yyoshikaw

分割ではなく抽出!雷に打たれた気分です。 #DDDAlliance

2015-09-10 20:30:37
fukajun @fukajun

ドメインの表面的な側面を捨て去る 何を捨て去っているかを意識しながら読むと理解が深まる <=> 文章としてはあまり書かれていない #DDDAlliance

2015-09-10 20:30:53
kanonji @kanonji

ドメインの表面的な側面を捨て去る。具体的にこういう時これが表面的な側面なので、これを捨てましたって話はあまり書いてないらしい。192ページの、船舶オブジェクトがなくなって輸送機器の運行になった、あたりが、捨て去った具体的な話かなと思った #DDDAlliance

2015-09-10 20:32:25
Takehiro Inoue @i_takehiro

「ドメインの表面的な側面を捨て去る」という表現が何度か繰り返されるが、何々を捨て去ったみたいな具体例はあまり書かれていないので、意識的に本を読む必要がある #DDDAlliance

2015-09-10 20:32:53
大島則人 @n_ohshima

大切な部分を絞る。そこを深堀りすると。 #DDDAlliance

2015-09-10 20:33:03
Satoshi Kumada @prudence3298

深いモデルの探求は、絞り込まれたドメインのコアの部分についてのみ行うべき。 全部に対して行うのは大変な上に得るものは殆どない #DDDAlliance

2015-09-10 20:34:02
fukajun @fukajun

しなやかな設計は深いモデルについづいするために重要になってくる、追求する必要がある #DDDAlliance

2015-09-10 20:34:34
kanonji @kanonji

再利用したいのにコピペするか、再利用したいコードを含めてリファクタリングするしか手がない事割とあるから、全然しなやかじゃないなぁ #DDDAlliance

2015-09-10 20:34:55
Takehiro Inoue @i_takehiro

「モデル」と「コード」を一致させながら「モデル」の実験を行うには、「コード」のしなやかさが必要になる。 #DDDAlliance

2015-09-10 20:35:17
大島則人 @n_ohshima

夢中で聞いてたが、まだ第3部の導入だけだったか。 #DDDAlliance

2015-09-10 20:36:27
Takehiro Inoue @i_takehiro

いいモデルが出来たと思ってもコードに落とすと破綻してるってことがよくあるので、さっさとコードに落としてフィードバックするのが賢明ですね #DDDAlliance

2015-09-10 20:36:52
kanonji @kanonji

第8章ブレイクスルー:ブレイクスルーはちょっと大げさな表現で、ちょっとした気づきかもしれない。 それはそれとして、そのブレイクスルーを実装に入れるのは、インパクトが大きいので何時どのようにするかは、冷静に考えないといけない #DDDAlliance

2015-09-10 20:39:50
Takehiro Inoue @i_takehiro

コードに違和感があるけどどこを直して良いか分からないような場合、経験的に、本当に小さなリファクタリング(名前を変えるとか)を愚直に繰り返していくと自然と進むべき道が見えてくることがありますね #DDDAlliance

2015-09-10 20:40:17
大島則人 @n_ohshima

スパゲッティになりそうな時に気付けるか。 #DDDAlliance

2015-09-10 20:43:11
Takehiro Inoue @i_takehiro

TDDとの関係を考えると、細やかなリファクタリングの為に多くのテストを書いておきたい一方、ドメイン層はかなりダイナミックにリファクタリングすることになるので、どの程度テストを書くか、どのタイミングでテストを捨て去るかのバランスがいつも難しい #DDDAlliance

2015-09-10 20:47:10
kanonji @kanonji

兆候と結末:この兆候と同じかわからないが、不整合が出てきて苦労してるなという時たまにある。こういう時は、どうにかして元の設計とその拡張の範囲で、うまくやりくりしようと格闘するも、無理やりになるし動かないしで、なんとか動かそうとして、バグに気がつかなくなる #DDDAlliance

2015-09-10 20:47:13