Теперь, когда я получил свою голову, обернутую вокруг языка "C", до такой степени, что я достаточно хорошо разбираюсь в написании чистого кода, я хотел бы сосредоточить свое внимание на руководящих принципах архитектуры проекта. Я ищу хороший ресурс, который освещает следующие темы:
- Как создать интерфейс, который повышает удобство обслуживания кода и расширяется для будущих обновлений.
- Рекомендации по созданию библиотеки. Пример, когда следует рассмотреть использование статических vs динамических библиотек. Как правильно спроектировать ABI, чтобы справиться с любым из них.
- Заголовочные файлы: что разделить и когда. Примеры о том, когда использовать 1:1 против 1: много .h на .c
- Все, что вы чувствуете, я пропустил, но важно, когда вы пытаетесь создать новый проект C.
В идеале, я хотел бы увидеть несколько проектов, начиная от малого до большого и посмотреть, как изменяется архитектура в зависимости от размера проекта, функции или клиента.
Какой ресурс вы бы порекомендовали для таких тем?