Тут коллеги петицию выдвигают
Jun. 3rd, 2014 01:09 amНе нравится им что у меня в C++ коде все в хедерах, без cpp. Причем, жалуется только почему-то народ на gcc и clang'е.
Я не знаю насколько распространена эта практика, но мне всегда казалось странным разделать заголовки и имплементацию, поэтому я пишу все в хедерах. Типа как в Java, C#, да и вообще везде практически, кроме чистых C и Objective-C.
Началось это достаточно давно, когда я был в конторе чуть ли не единственным C++ программером, поэтому делал как мне удобно.
Сейчас кодовая база подросла, люди подтянулись, жалуются на длинные компиляции и долгую пересборку после единственного изменения.
Мое мнение, что если в проекте один файл main.cpp, то и компиляться будет шустро. Все равно там бустовых темплейтов в 10 раз больше чем собственно нашего кода, а 20-30-40-100 раз их компилять заново на каждом cpp это глупо как-то. Нехай все в одном компиляется.
Но посмотрим, надо разбить существующий код утилиткой какой на .h и .cpp, и замерить время компиляции и перекомпиляции. Вдруг в самом деле это я людей плохому учу.
Хотя, на самом деле, попытки ускорить компиляцию через cpp файлы это просто другая банка червей. Начинаются забавы с форвард-декларейшнами, пимплами и прочей специфичной плюсам ерундой, про которую другие языки и не знают даже.
Я не знаю насколько распространена эта практика, но мне всегда казалось странным разделать заголовки и имплементацию, поэтому я пишу все в хедерах. Типа как в Java, C#, да и вообще везде практически, кроме чистых C и Objective-C.
Началось это достаточно давно, когда я был в конторе чуть ли не единственным C++ программером, поэтому делал как мне удобно.
Сейчас кодовая база подросла, люди подтянулись, жалуются на длинные компиляции и долгую пересборку после единственного изменения.
Мое мнение, что если в проекте один файл main.cpp, то и компиляться будет шустро. Все равно там бустовых темплейтов в 10 раз больше чем собственно нашего кода, а 20-30-40-100 раз их компилять заново на каждом cpp это глупо как-то. Нехай все в одном компиляется.
Но посмотрим, надо разбить существующий код утилиткой какой на .h и .cpp, и замерить время компиляции и перекомпиляции. Вдруг в самом деле это я людей плохому учу.
Хотя, на самом деле, попытки ускорить компиляцию через cpp файлы это просто другая банка червей. Начинаются забавы с форвард-декларейшнами, пимплами и прочей специфичной плюсам ерундой, про которую другие языки и не знают даже.