- 各ユニットは、他のユニットに関する限られた知識のみを持つ必要があります。現在のユニットに「密接に」関連するユニットのみです。
- 各ユニットは、その友人とのみ会話する必要があります。見知らぬ人と話をしないでください。
- 身近な友達とだけ話してください。
C#6.0では、null-conditional operatorと呼ばれる新しい演算子が導入されました。私見、それはコーディングを容易にし、読みやすさを向上させます。ただし、クラスフィールドをナビゲートするのが簡単で、すでにヌル(のようなものvar x = A?.B?.C?.D?.E?.F?
)をチェックしているため、より結合されたコードを簡単に記述できます。
この新しいオペレーターがデメテルの法則に反すると述べるのは正しいですか?
X.Y.Z.W.U
「法律」に違反していると言っているわけではありません。しかし、コードを扱った私の経験では、90%の時間は単なる見苦しい結合コードです。
.?
より多くないのLoDに違反しません+
か-
ん。
A?.B?.C?.D?.E?.F?
を違反すると思うのですか?LoDはドットの数ではなく、呼び出し元のメソッドがそのポイントに違反していない構造に関する情報を持っている場合、そのような呼び出しは完全に受け入れられます。そのようなコードが LoDに違反する可能性があるだけでは、そのコードのすべての使用がLoDに違反するとは言えません。