我如何学习一个记录不完整的开源框架?

时间:2009-11-10 13:16:38

标签: open-source

如果项目记录不完整,您学习开源项目的方式是什么?

阅读源代码?

11 个答案:

答案 0 :(得分:4)

我在Insight项目中使用的控件面临着这个问题。

这就是我的所作所为。

  1. 阅读源代码(如果可用)。

  2. 如果源代码不可用,请使用Reflector获取源代码,然后阅读。

  3. 熟悉社区,如果存在的话。如果有论坛组,请加入。发布您的问题,分享您的知识,并成为积极的参与者。如果您帮助他们,其他用户更有可能帮助您。

  4. 这就是我所拥有的一切。如果这些都不适合你,我强烈建议你选择一个替代方案。

答案 1 :(得分:3)

我讨厌说出来,但通常就是这种情况 - 即使在商业环境中也是如此。如果您真的喜欢某个特定的项目,那么您将不得不开始深入挖掘并学习它。我开始使用未记录的库的一种方法是首先在Visual Studio中创建一个类图。如果开发人员一直小心他们的命名约定,那么这些类通常会记录自己,并且您将能够看到他们的交互。否则,它真的归结为玩它。

我会建议你有一些你可以努力的东西,而不是跳进去试图解决源头问题。例如,查看错误/功能列表。从简单的事情开始,然后继续前进。随着时间的推移,您将越来越熟悉代码库。

我当然不鼓励人们避免编写文档,但我建议所有开发人员都能轻松使用尚未记录的代码。

答案 2 :(得分:2)

阅读来源,卢克。

说真的,我没有别的办法。另外:对我来说,学习是有趣的部分......

答案 3 :(得分:2)

找到一个不同的框架来关注其用户。

答案 4 :(得分:1)

正如Chrys发布的链接中所提到的,您可以尝试使用源代码文档工具来生成文档。您可以在框架的源代码上运行Doxygen或类似的东西,并将其设置为不排除任何未记录的函数或类等。如果您真的喜欢,请将其转换为内联函数源代码,生成继承,包含,协作,调用者,被调用者和模板实例化图,您最终会对整个系统的内部进行相当全面的概述。

此外,一些记录不完整的项目背后有强大的社区,试图将某些东西放在一起,但还没有完成好事。您可以加入他们的邮件列表并随时提出问题。

否则,请准备好进行大量的反复试验。

答案 5 :(得分:1)

有些人喜欢编写单元测试以深入研究新代码。

答案 6 :(得分:0)

有时,开源框架的文档不是免费的。你需要买它。也许,这是你的情况?

答案 7 :(得分:0)

如果有论坛或社区可用,那么您应该首先询问。

答案 8 :(得分:0)

如果很少或没有文档/示例,那么,阅读源代码是你唯一的前进方向。

如果您不熟悉框架背后的语言或概念(例如MVC模式),我建议您尝试找一些更好的文档,因为您不仅要尝试理解代码是什么做,但也为什么这样做。

如果您熟悉该语言,那么它肯定值得一试。如果你能够让框架运行起来,那么至少可以在博客上关注它,以便其他人能够得到一些帮助。您还可以考虑通过编写文档来为项目做出贡献....

答案 9 :(得分:0)

如果文档很差或不存在,我拒绝学习该框架。使用可能会或可能不会起作用的东西是没有意义的,正如我认为的那样。把我自己的工作基于这样的事情意味着在沙滩上建造。

答案 10 :(得分:0)

研究它,记录它并将补丁发送回项目,这样下一个可怜的灵魂就不必挣扎。

与此同时,问问自己为什么你在一个没有文档的框架中苦苦挣扎?如果它没有记录,显然,使用它的好处要么过度炒作,要么没有很好地描述。