ここで、二つの変数間の関係として、 "orthogonal/non-orthogonal な関係" という概念を導入します。二つの変数があり、一方の値域がもう片方の値に影響を受けないならば、それら二変数の関係を "orthogonal" とします。反対に、どちらかの値域がもう片方に影響を受けるならば、"non-orthogonal" とします。例えば `userId` と `layoutVisibility` は、互いに独立して自由な値を持てるので、これら二値の関係は "orthogonal" です。一方で `userId` と `userName` という変数の場合は、`userId` を変更すると同時に `userName` も更新しなくてはいけないので、これらの関係は "non-orthogonal" です。 この "non-orthogonal" な関係を解消することで、不正な値の
![コードの可読性についてのプレゼンテーション紹介 vol. 3: "状態と手続き" 編](https://cdn-ak-scissors.b.st-hatena.com/image/square/74163d18b4515d440aad1796ae5fd9828a7339d1/height=288;version=1;width=512/https%3A%2F%2Fvos.line-scdn.net%2Flandpress-content-v2_1761%2F1666853392162.png%3FupdatedAt%3D1666853394000)