Я ищу программы/проекты размером от малого до умеренного размера, которые показывают хорошие современные методы разработки приложений в C на Linux. Я хотел бы узнать на примере и любопытно, как дела обстоят в реальном мире.C и современные методы/примеры в Linux
ответ
Кодовая база XMMS2 довольно молодая и является хорошим примером для стиля кодирования, а также методов использования C в современной, но очень чистой (она должна опираться на множество платформ) моды.
В него входит модель клиент-сервер с кросс-платформенной связью, объектно-ориентированная система внутри сервера, сложная система плагинов, потоковая передача для полной загрузки в реальном времени звуковой карты. Плагины также дают хорошие примеры включения сторонних библиотек. Укомплектован экспортированным API, для которого также доступно несколько языковых привязок (что показывает вам, как это сделать).
В коде xmms2 вы увидите много разных современных проблем. База кода очень чистая и поставляется с небольшим «старым кодом» здесь и там, который все еще хорошо написан.
Он также использует сложную систему сборки, и разработчики в значительной степени полагаются на функции git. Поэтому есть еще больше возможностей узнать, чем просто простой код. Сообщество активно и полезно в IRC, если у вас есть какие-либо вопросы о коде.
Минус: Это не мало. Но он относительно модульный, особенно с компонентами сервера, являющимися явными объектами, поэтому вы можете выбрать его часть, которая охватывает конкретные проблемы и учиться на этом. Или даже попробуйте написать собственный клиент, плагин, что угодно.
Мой совет - для огромного. Хорошая практика почти не рассчитана на небольшие проекты, и что будет хорошей практикой для большого проекта, в основном выискивает вас на одностороннем крошечном.
Большая книга, которая просто радость для чтения. Даже если вы не программист * nix или программист на C, примеры и тематические исследования великолепны.
Будьте осторожны с некоторыми более крупными проектами. Они могут быть грязным унаследованным кодом и другим безумием. Например: не смотрите на базу кода Mozilla/Firefox в качестве примера, это огромный беспорядок (медленно улучшается).
- 1. Современные Objective-C и @synthesize
- 2. Переучивать современные ресурсы C++?
- 3. . NET: Современные связки C++?
- 4. Современные проекты на C++
- 5. C++ современные указатели строк
- 6. Современные C++ игры Примеры программирования
- 7. Строгое сглаживание C/C++, время жизни объекта и современные компиляторы
- 8. Современные шаблоны и рендеринг документа
- 9. Двоичные, плавающие и современные компьютеры
- 10. Современные Breakpoints
- 11. Почему современные ОС (Linux, Windows, Solaris) реализуют однопоточную модель?
- 12. Современные книги по разработке на C++
- 13. Современные языки и условное обозначение массива
- 14. Современные развертывания Swing и назначения JVM
- 15. Современные пользовательские кнопки AppBar
- 16. На что написаны современные и старые компиляторы?
- 17. Современные OpenGL: VBO, GLM и Matrix Stacks
- 18. Заменить конкатенацию макроса C++ на современные методы C++
- 19. Хорошие современные стрелки в действии?
- 20. C и C++ для Linux и Windows
- 21. Современные меню tkinter в Windows
- 22. Современные методы обработки и дозирования при визуализации
- 23. Современные инструменты программирования GUI
- 24. Надежный шаблон подсистемы и современные веб-сайты
- 25. Есть ли хорошие и современные альтернативы Джавадоку?
- 26. Современные структуры данных
- 27. Современные цвета OpenGL
- 28. Современные AJAX Webapp Paradigm
- 29. OpenGL - Используя современные библиотеки
- 30. Программные точки останова и современные процессоры ООО®