Classes and class hierarchies
C.1
Организуйте связанные данные в структуры (`struct` или `class`)
Причина
Лёгкость понимания. Если данные связаны (по принципиальным причинам), этот факт должен отражаться в коде.
Пример
void draw(int x, int y, int x2, int y2); // ПЛОХО: ненужные неявные связи
void draw(Point from, Point to); // лучше
Примечание
Простой класс без виртуальных функций не несёт накладных расходов по пространству или времени.
Примечание
С точки зрения языка class и struct отличаются только видимостью членов по умолчанию.
Контроль
Вероятно, невозможно. Возможно, применима эвристика, ищущая элементы данных, используемые вместе.