Pojem ortogonality známe z geometrie, kde vyjadřuje kolmost. Také algebraici termín znají, u vektorů totiž tento termín vyjadřuje nezávislost dvou vektorů. Pakliže se pohybujeme po jedné ze dvou ortogonálních přímek, tak průmět naší pozice na té druhé se nemění. I když urazíme třeba deset kilometrů.
Tento princip byl přenesen i do světa vývoje softwaru. Dvě softwarové komponenty nazýváme ortogonální, pakliže se změna implementace (vnitřku komponenty) jedné nijak neprojeví na té druhé. U komponentově orientovaných softwarových projektů se snažíme o to, aby byly všechny komponenty navzájem ortogonální. To je ideální stav.
Ortogonalita se často vylučuje s globálními proměnnými. Když máme globální proměnnou, která se používá ve více komponentách, je těžké udržet ortogonalitu. Proto se globálním proměnným vyhýbejte. Taková věc nemusí mít nutně formu proměnné, například já na sobě často pociťuji přílišné používání jedináčka (návrhový vzor). Ve své podstatě se takový jedináček může chovat jako globální proměnná. Pozor na to!
Ještě bych upozornil, že tato moudra nejsou z mé hlavy. Je to know-how pánů Andrew Hunta a David Thomase, kteří jej sdílí v knize The Pragmatic Programmer: From Journeyman to Master, kterou u nás vydal CPRESS. Doporučuji k přečtení.