1

我们正在为 Gremlin/Cypher 开发审查工具,因为我们在项目中主要使用 Neo4j 图形数据库,以减少手动审查工作并提供高质量的代码。

是否有任何 Gremlin 和 Cypher 脚本的编码标准(格式/性能提示等)列表,可用作对这些脚本进行审查的清单?

4

3 回答 3

1

我只能给你一个关于Gremlin的答案。首先,需要注意的是,Gremlin wikiGremlinDocsgremlin-users邮件列表等中的几乎所有示例都适用于 REPL。来自这些源的示例遍历往往是冗长的单行代码,以这种方式编写以便通过复制/粘贴轻松传输到命令行以执行。在 REPL 中以一行方式获得答案是有点令人满意的,但对于需要随时间维护的生产代码,请考虑避免这样做的诱惑,除非有特定的原因要求它。

其次,从样式/格式的角度来看,Gremlin 是基于 Groovy 构建的 DSL。无论您喜欢 Groovy 的哪种风格,通常都适用于 Gremlin。从 Groovy建议开始,然后根据您的需求/喜好对其进行调整。我希望像CodeNarc这样的工具可以帮助进行一般样式检查和识别常见的 Groovy 编码问题。

于 2013-08-15T10:58:18.840 回答
1

我认为您不会找到一个具体的答案,因为讨论编码标准可能会导致非常主观(且充满辩论)的答案。那就是说:我会更客观的说:

第一步是决定 Gremlin 和 Cypher,因为它们既不是同一种东西,也不是同一种风格。在做出这个决定时(也许这个决定是使用 both),你应该仔细看看 Neo4j 2.0 的开发(目前在 Milestone 4),因为 Cypher 正在迅速成熟,并且有很多工作要做,两者都来自表现力的观点和表现的观点。

假设您使用 Cypher,我建议您查看 Neo Technology 发布的示例,尤其是Cypher 学习模块。我不知道任何已发布的指南,但我认为大多数指南与您已经拥有的任何脚本指南相似(例如命名约定、间距等)。更进一步,您可能会通过代码和控制台使用 Cypher。因此,您将希望继续使用传统的编程风格指南,并指定您将使用的特定于语言的库。

于 2013-08-14T23:28:52.550 回答
0

另请参阅邮件列表中的消息https://groups.google.com/forum/#!searchin/neo4j/coding$20standards/neo4j/JYz2APHV-_k/V1BKRwyv5hAJ

于 2013-09-07T17:55:36.213 回答