직교성은 중요하다.

한 모듈은 각자 자신이 맡은 한가지일을 수행하는데 충실해야한다. 한 모듈의 변경이 다른 모듈까지 영향을 미치는 프로그램은 직교성이 좋지 않은 프로그램이다.

teZHH9KSxO261axRdnrI_vectors1

서로 직교하는 두 직선은 한 축의 방향으로 움직여도 만나는 점의 좌표도 한 축의 방향으로밖에 움직이지 않는다. 즉 한 직선의 움직임은 그 움직임의 방향으로만 영향을 끼치지 다른 방향으로의 영향을 끼치지 않는다.

프로그래밍에서의 모듈도 그렇다. 모듈끼리 의존도가 낮아야지 즉, 모듈이 서로 최대한 독립되어 있어야 유지보수가 간편하다.

이전에 HTML은 문서의 구조와 디자인을 모두 담당하는 복잡한 소스코드로 존재했었다. 하지만 요즘은 Markup Language 의 핵심 역할, 즉 문서의 구조를 나타내는 것만 담당하고 디자인 부분은 모두 CSS 에 맡겨버린다.

또한 MVC 디자인 패턴과 같이 데이터와 View 를 분리시키는 움직임도 존재한다. 이런 ‘분리’ 시키는 행위가 서로의 ‘의존도’를 낮추는 행위가 유지보수가 수월한 프로그램을 만든다.