我正在寻找小到中等大小的程序/项目,这些程序/项目显示了在Linux上用C开发应用程序的良好现代实践。我想通过实例来学习并且好奇现实世界中的事情是如何完成的。
答案 0 :(得分:9)
一本很棒的书,只是一种阅读的乐趣。即使您不是* nix程序员或C程序员,示例和案例研究也很棒。
答案 1 :(得分:3)
XMMS2代码库相当年轻,是编码风格的一个很好的例子,以及在现代但非常干净(它必须建立在很多平台上)的时尚中使用C的技术。
它包括一个具有跨平台通信的客户端 - 服务器模型,服务器内部的面向对象系统,一个复杂的插件系统,线程可以满足实时提供声卡的需求。插件还提供了合并第三方库的良好示例。赞同导出的API,还有几种语言绑定可用(告诉你如何操作)。
您将在xmms2代码中看到许多不同的现代问题。代码库非常干净,并且在这里和那里附带了很少的“旧代码”,但仍然写得很好。
它还使用了复杂的构建系统,开发人员严重依赖于git的功能。因此,除了纯粹的代码本身之外,还有更多需要学习的东西。如果您对代码有任何疑问,社区对IRC非常积极和有帮助。
缺点:它不小。但它是相对模块化的,特别是服务器组件是不同的对象,因此您可以选择一部分来涵盖特定问题并从中学习。或者甚至尝试编写自己的客户端,插件,等等。
答案 2 :(得分:1)
警惕一些大型项目。它们可能是遗留代码和其他疯狂的混合物。例如:不要以Mozilla / Firefox代码库为例,这是一个巨大的混乱(虽然慢慢变好)。
答案 3 :(得分:0)
我的建议是巨大的。好的做法几乎不依赖于小项目,对于一个大型项目来说,什么是好的做法主要是让你在一个小小的项目上惹恼。