Open3
直交性

純粋に直交的な設計では、処理は副作用を持たない。個々の操作(API呼び出し、マクロの実行、言語処理のいずれにしても)は、他のものに影響を与えずに1つだけのものを変える。制御しているシステムが何であれ、個々の属性を変更する方法は必ず1つあり、1つしかない。
The Art of UNIX Programming

2つの変数について、それぞれの値の取りうる範囲(変域)がもう一方の値に影響されない場合、それらの変数は互いに直交の関係にある。
非直交の関係を排除することは、可読性と頑健性の高いコードを目指す上で大切です。2つの変数が可変で、それらの値が不正な組み合わせになりうる場合、値を更新する度に組み合わせの正当性を確認する必要があります。
読みやすいコードのガイドライン

直交性というのはインタフェースのことで、互いにリソースのモジュールをいかに接触面積を小さくするようなものが直交性なのに対して、DRYというのは、あることをやるのであれば、それは一ヵ所でやるということ。ときには直交性を確保するためにDRYの原則を破るということはあります。たとえば、データベースの実装というのがそういう風になっています。
https://gihyo.jp/dev/serial/01/alpha-geek/0023