Also ich halte das so, dass nach Möglichkeit keine Prozedur ode Funktion mehr als ca. 20 Zeilen hat. Es gibt natürlich immer mal wieder den Fall wo sowas schlecht geht oder suboptimal ist. In dem Fall wird der Grund mit dokumentiert.
Units, die am Ende nur eine Prozedur enthalten werden in eine Funktionssammlung „common“ zusammengefasst. Manchmal auch in mehreren commons („graphiccommon“, „guicommon“, etc)
Ansonsten halt gut dokumentieren, damit man (oder andere) auch nach Jahren noch nachlesen kann, welchen Blödsinn man seinerzeit verzapft hatte