Good software design follows the same principle of placing related items together. Functional locality implies levels of abstraction. Each room in a house has a purpose, with related items for that purpose in the room. At a broader view though, good building architecture places related rooms together. Rooms for nighttime use are at the other end of the house or upstairs.
Office buildings place mechanical infrastructure rooms in one area, away from business people.
Good software architecture also uses levels of abstraction to achieve functional locality. It is possible to have two different versions of a software program that function in exactly the same way, and have the same internal design and construction from a technical perspective, but which are vastly different in their human readability. Consider these examples. If A close inspection reveals that these code fragments are identical, in a strict sense. Based on the other metrics listed in this article, they have the same overall quality.