LINUX.ORG.RU

История изменений

Исправление alysnix, (текущая версия) :

читайте кодегайды по хидерам уже.

хидер как МИНИМУМ должен быть:

  1. самодостаточным - то есть компилироваться без ошибок. проще говоря иметь все нуждные инклуды. для этого хидер модуля some_module.h включается в модуль some_module.cpp первым, а не какие-то «системные», «библиотечные» и проч.

  2. иметь защиту от множественного включения - типа #pragma once

  3. семантика определений в хидере не зависит от порядка его включения. это связано с пунктом 1

  4. не иметь инклудов НЕ НУЖНЫХ для того, чтобы быть самодостаточным.


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

Исходная версия alysnix, :

читайте кодегайды по хидерам уже.

хидер должен быть

  1. самодостаточным - то есть компилироваться без ошибок. проще говоря иметь все нуждные инклуды. для этого хидер модуля some_module.h включается в модуль some_module.cpp первым, а не какие-то «системные», «библиотечные» и проч.

  2. иметь защиту от множественного включения - типа #pragma once

  3. семантика определений в хидере не зависит от порядка его включения. это связано с пунктом 1

  4. не иметь инклудов НЕ НУЖНЫХ для того, чтобы быть самодостаточным.


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