2008-10-21 3 views
5

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

ответ

3

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

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

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

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

http://xmms2.xmms.se

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

0

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

9

The Art of Unix Programming

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

1

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

Смежные вопросы