Си и современные практики / примеры в Linux - PullRequest
5 голосов
/ 22 октября 2008

Я ищу программы / проекты небольшого или среднего размера, которые демонстрируют хорошие современные практики разработки приложений на C для Linux. Я хотел бы узнать на примере и любопытно, как все происходит в реальном мире.

Ответы [ 4 ]

9 голосов
/ 22 октября 2008

Искусство программирования Unix

Отличная книга, которую просто радостно читать. Даже если вы не являетесь * nix-программистом или программистом на C, примеры и тематические исследования великолепны.

3 голосов
/ 22 октября 2008

База кода XMMS2 довольно молода и является хорошим примером стиля кодирования, а также методов использования C в современной, но очень чистой (она должна быть построена на многих платформах) моде.

Включает модель клиент-сервер с кроссплатформенной связью, объектно-ориентированную систему внутри сервера, сложную систему плагинов, обеспечивающую многопоточность, чтобы полностью удовлетворить потребности подачи звуковой карты в реальном времени Плагины также дают хорошие примеры включения сторонних библиотек. Дополнено экспортированным API, для которого доступны также несколько языковых привязок (которые показывают, как это сделать).

В коде xmms2 вы увидите много разных современных проблем. Кодовая база очень чистая и содержит немного «старого кода», который все еще хорошо написан.

Он также использует сложную систему сборки, и разработчики в значительной степени полагаются на функции git. Так что есть еще что-то, что нужно изучить, а не только сам код. Сообщество активно и полезно в IRC, если у вас есть какие-либо вопросы по поводу кода.

http://xmms2.xmms.se

Недостаток: он не маленький. Но он относительно модульный, особенно с серверными компонентами, представляющими собой отдельные объекты, поэтому вы можете выбрать его часть, которая охватывает конкретные проблемы и извлечь из этого уроки. Или даже попытайтесь написать свой собственный клиент, плагин, что угодно.

1 голос
/ 22 октября 2008

Остерегайтесь некоторых крупных проектов. Они могут быть мешаниной устаревшего кода и другого сумасшествия. Например: не смотрите на кодовую базу Mozilla / Firefox в качестве примера, это огромный беспорядок (хотя постепенно улучшается).

0 голосов
/ 22 октября 2008

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...