Предыстория Умные люди в умных книгах говорят о необходимости качественно структурировать код. Я вполне с ними согласен. В моей работе я часто встречаю примеры отвратительного кода. Более того, сам, бывает, использую «говнокодирование». Это, плохо. Плохой код затрудняет чтение, исправление и развитие. Обнаружив такие места я стараюсь исправить эти участки. Поэтому нужна новая, более понятная, структура проекта. В связи с этим, я начал искать, а есть ли какие-либо примеры, как надо структурировать исходный код? И нашел! На сайте OS DEV есть отдельная статья о структурировании кода — Meaty Skeleton. Но обо всем по порядку. Эта статья в блоге ULTeam8 Linux Сначала я заглянул в код Linux. Там очень много папок и файлов. В этом многообразии прослеживается определенная структура. Есть папка для подключаемых заголовков — include, папки самого ядра (kernel). А также папки с кодом привязанным к определенной архитектуре компьютера: arch. Естественно кодовая база в текущем ядре Linux колоссальная