2010-11-02 69 views
10

我刚开始记录一个rails应用程序。我知道这实际上是由rdoc完成的,所以我遵循了关于语法等的一些rdoc指南,但是当我试图描述模型的属性,验证和模型之间的关系时,我陷入了困境,主要是因为这些东西是ActiveRecord的一部分。所以我想知道是否有一些关于如何记录rails应用程序的指南或好的实践,或者是否有我缺少的东西?如何记录一个rails应用程序?

我知道我可以把所有这些都放在类的描述中,但是我想知道是否有更紧密的方式绑定到声明本身(has_many,validates_presence_of等)以及属性如何?

回答

3

我个人更喜欢YARD - http://yardoc.org,因为它在记录IMHO方面做得更好。 我不知道是否有一个特定的Rails可用处理程序,但它很容易编写一个 - http://yardoc.org/guides/extending-yard/writing-handlers.html 一个很好的例子可能是属性处理程序 - 代码段的一部分: lib/yard/handlers/ruby​​/attribute_handler .rb

+0

我认为这是一个非常复杂的方法,我认为唯一的问题是它看起来还有点年轻,学习曲线比我预期的更明显,不过我认为它有很多潜力。我甚至开始想象一些不错的功能,比如将数据库与来自迁移的文档一起提供给数据库,然后将这些文档放入生成器中,这样就可以一举两得,应用程序文档和数据库文档。 – ramontiveros 2011-01-31 02:47:39

2

记住你的测试是文档的一部分(对于开发人员),特别是如果你在容易阅读场景的情况下使用Cucumber。如果你的方法很短,并且有一个描述性名称的测试方法,例如“应该设置用户名”我发现我通常不需要对该方法进行评论。

验证或Rails的其他部分我不会文档。作为Rails开发人员的一部分是理解这些工作是如何工作的,我认为这是一个公平的假设,您的代码的另一位维护人员会读取它的验证或其他内置于Rails的内容。通过同样的逻辑,如果您可以使用框架特性或开发路径(不会偏离太多)与第三方代码编写文档,则会为您编写大量文档。

+0

我喜欢这种方法,对于我认为可以工作的开发团队来说,但在某些情况下,您需要一个真正的文档,一个可能不会严格用于开发人员的文档,但是由一个实际上不关心测试(并且不必)。 – ramontiveros 2011-01-31 02:48:56

+0

另一方面,验证并不总是很容易解释,甚至对于程序员来说,例如在我的应用程序中,我对某些数值属性进行了验证,这些数字属性必须介于-180和180之间。这是因为此属性表示纬度值,这个值只能在这个范围内。这只是一个简单的方法,我还有其他验证,包括关系和限制更加抽象,即使我再次参与代码初次不明确。 – ramontiveros 2011-01-31 02:49:32