Зачем разбивать классы на несколько исходных файлов в C ++? - PullRequest
2 голосов
/ 18 сентября 2010

Какой смысл иметь несколько исходных файлов в c ++? Извините, если это невероятно просто.

Ответы [ 3 ]

6 голосов
/ 18 сентября 2010

В каком контексте вы имеете в виду? Несколько заголовков в проекте или несколько заголовков, включенных в один файл?

Разбиение кода на разные файлы, когда это возможно, помогает значительно упростить поддержку. Вместо того, чтобы искать в 100 000 строк кода для точного определения одного определения функции, вам, возможно, придется посмотреть только на 500. Плюс это может ускорить перекомпиляцию, поскольку вы можете просто скомпилировать измененные файлы, а затем связать их с предыдущими объектными файлами.

В частности, для заголовков C ++ желательно иметь только один класс на заголовок, поэтому у вас будет куча разных файлов заголовков. Опять же, это гораздо более ремонтопригодно.

1 голос
/ 18 сентября 2010

Использование нескольких исходных файлов для организации вашего кода может значительно улучшить не только время компиляции, но и рабочий процесс. Это может позволить большему количеству людей работать одновременно с меньшим шансом наступить на пальцы друг друга.

Разделение классов на несколько заголовочных файлов не всегда является лучшим методом и часто может привести к путанице и проблемам при компиляции кода.

Я бы не всегда рекомендовал только один класс на заголовочный файл, но определенно только один заголовок на класс.

0 голосов
/ 18 сентября 2010

Я согласен.Код намного легче поддерживать, если код разбит на более мелкие части в файле.Я работал со многими проектами, пытаясь найти проблемы, и становится намного сложнее, когда разработчик помещает несколько классов в один файл.Я лично предпочитаю разделять каждый класс в отдельный файл, чтобы при просмотре проекта я мог определить, где этот класс существует.Это оставляет возможность для беспорядка, но если пространства имен используются хорошо, то это должно быть хорошо структурировано.

...