직교성. 기하학에서 두개의 선분이 서로 직각으로 만나는 것을 의미.
ThePragmaticProgrammer에서는 x방향으로는 진행하지만, y방향으로는 진행하지 않는 직교성을 의미한다. 이는 곧 독립적이어야함을 뜻한다. 프로그래밍에 있어서의 정보는 독립적이어야 한다. 한 부분의 수정이 다른 부분에 영향을 미치지 않아야 한다는 뜻이다.
이는 전체 프로젝트의 생산성을 증대시키며 리스크를 감소시킨다.
ComputerProgramming에서의 Orthogonality를 높히려면,
Design과정에서 ModelViewController를 따라야 하며,
기술적지원을 받을 수도 있다. (예, EnterpriseJavaBeans, AspectOrientedProgramming)
- 코딩하면서
keep your code decoupled - try the LawOfDemeter
avoid global data - use SingletonPattern
avoid similar functions - use StrategyPattern
- Testing하면서
- Documentation하면서
content/presentation 구분 (See also ModelVsView)