c ++开发人员的开源项目?

时间:2009-07-09 19:49:52

标签: c++ qt open-source

我是一名vc ++开发人员(但与Qt一样),他希望通过贡献和阅读代码来学习开源项目。我使用windows作为主要开发平台。哪个项目适合我开始?

  

chromium是个不错的选择吗?

14 个答案:

答案 0 :(得分:36)

  

铬是一个不错的选择吗?

我相信,是的!

源代码是IMO编写得非常好,它是一个非常活跃的项目,需要做很多工作,并且在许多方面也很有趣。显然,浏览器本身只是特定库的组合,因此Chromium为您提供了一个很好的入口,可以更好地了解它们,并希望显而易见。但最重要的是,它拥有一个庞大的社区,由一家大公司赞助,并在其核心团队中拥有许多才华横溢的软件工程师。

有很多事情要做,所以你甚至可以在学习你不知道的东西的同时贡献你所知道的东西。


我想补充一下;要加入的开源项目的选择应基于:

  1. 你的专业水平
    • 您想学习什么
    • 代码质量
    • 项目成熟度
    • 代码复杂性(不要与可读性混淆)
  2. 我只是在这里为自己说话,但我喜欢从过于复杂的项目(文件系统,RDBM等)中学到更多东西,我发现这些项目由于压倒性的复杂性而不那么有价值。尽量不要一次学习所有内容,采取较小的步骤并完成你的工作,而不是采取更大的步骤放弃。

    只是我的2c - YMMV


    如果你想尝试Chromium,这里有设计文件的链接:

    以上链接均来自Chromium developer documentation,可以找到更多详细信息。

    无论如何,祝你找到符合你需求的项目!

答案 1 :(得分:17)

参与Qt Creator项目。

答案 2 :(得分:11)

KDE在C ++ / Qt中有很多代码。这是开源社区的一个很好的例子......他们的SVN存储库很快将有7位数的提交号码(http://websvn.kde.org/)。

答案 3 :(得分:5)

Google有很多开源C ++项目。具体来说,perftools(替换malloc,堆/ CPU分析器)需要相当多的Windows和x64专业知识。

http://code.google.com/hosting/projects.html

答案 4 :(得分:4)

我觉得有很多有趣的开源项目使用c ++。 Boost是第一个可以考虑的项目。这是一个图书馆,但写得很好,所以你会学到很多东西。如果你想要更有趣的东西,你可以尝试像Ogre3D这样的游戏引擎。如果你想参与一个有Qt绑定的项目,我建议与KDE相关的项目,因为他们主要使用Qt,AFAIK。

Boost

Ogre3D

答案 5 :(得分:3)

关于Web浏览器引擎开源项目的webkit怎么样? 我希望它有所帮助。

答案 6 :(得分:2)

Launchy

来自项目页面介绍

  

Launchy是一个免费的Windows和Linux实用程序,旨在帮助您忘记开始菜单,桌面上的图标,甚至文件管理器。

     

Launchy为您的开始菜单中的程序编制索引,只需几次按键即可启动文档,项目文件,文件夹和书签!

他们还有一个插件界面,所以你可以在开始处理实际代码之前先编写一个插件。

答案 7 :(得分:2)

参加Qt比赛,例如: Pimp My Widgets QtCentre编程比赛

答案 8 :(得分:1)

我喜欢Code::Blocks的工作。这不是一个微不足道的项目,但你仍然应该能够围绕它做出贡献。 :)

最重要的是处理你想要处理的事情

答案 9 :(得分:1)

wxWidgets对于了解MFC和Windows的c ++开发人员更好。 Qt使用MOC编译器生成c ++代码。在wxWidgets中,您可以完全控制代码。

答案 10 :(得分:1)

您可以尝试帮助将KDE端口添加到Windows。 KDE是一个桌面环境,传统上是在Linux / Unix系统上的家中,但现在具有Windows和MacOS X的(本机)端口。

您可以帮助使这些应用程序更好地与Windows配合使用。 对某些应用程序的工作将受到高度赞赏(例如Amarok - 一种高级音乐播放器,digiKam - 一种先进的数码照片管理应用程序),因为它们对Windows用户来说是一个很好的开源选项。

您可以很好地了解如何参与KDE for Windows TechBase article

无论如何,祝你好运选择; - )

答案 11 :(得分:1)

我认为这里的任何人都不能真正回答“哪个项目适合我开始?”因为这里没有人真正知道你是谁。编程是一个绝对巨大的领域,你可以做低级系统代码(即驱动程序和操作系统),数据库,网络浏览器,游戏,文字处理,并且列表继续。

你应该做些什么,找到你想要做的事情,然后开始玩代码。尝试在该领域的几个不同的项目,看看你能理解,贡献和学习的东西(它也是一种看到各种编程范例的好方法)。此外,如果你也试图从中学习,你应该检查项目成员之间有多少帮助和沟通,以及他们似乎愿意互相帮助多少(如果几乎没有沟通的话) ,我担心这个项目能够存活更长时间。)

答案 12 :(得分:0)

在阅读实际问题之前,Chromium是我的第一个想法。我绝对认为这是值得的。

答案 13 :(得分:0)

如果您正在玩游戏,请尝试使用Half Life 2.2 Full SDK。它是免费的,你可以制作自己的mod。