Magnolia Tech

いつもコードのことばかり考えている人のために。

ドメイン知識は、容易に失われる

以前noteに書いた記事ですが、管理上こちらにも転載。

なるべくドメインを表現したコードにしよう、というのはそりゃそうなんだけど、ちょっとした記述方法だけでもドメインが持っていた意図は容易に失われる(だからこそどうやって表現を残すか考えないといけない)っていう趣旨のエントリでした。

ドメインにはドメインの都合があるし、コードにはコードの都合があるんだよね。完全にどちらかに寄るわけじゃないけど、後世の人にとって都合の悪い寄り方はあると思う。


コードがドメイン知識を表現するように書かれるべき、という話と、全体を疎結合にして拡張性や保守性を担保しましょう、という話、完全には両立はしないと思っていて、だってビジネス側の人はそんな拡張性とか保守性の話していなくね?

で、実際のコードを見たら、考えたこともない保守性や拡張性のための抽象化が行われていて、上から読んでもよく分からん、みたいなこと、発生していない?

そうでなくても冒頭の、ちょっとしたコードの書き方でも、元々考えていたドメイン知識からの要求って失われたりしませんか?って

区分コードに5が追加された時、全然違うところにとってつけたような分岐が現れてしまうこと、ありませんか?

コードの改修のしやすさと、ビジネス側からの要求が一致していないとき、後世の人は、先人たちの考えたことが分からなくなってしまうのです。


magnoliak🍧 (@magnolia_k_) | Twitter