2013-08-13 2 views
1

Мы разрабатываем инструмент для обзора Gremlin/Cypher, поскольку мы преимущественно работаем с базами данных Neo4j в нашем проекте, чтобы уменьшить усилия по ручному обзору, а также предоставить качественный код.Стандарты кодирования для Gremlin/Cypher

Есть ли список стандартов кодирования (советы по форматированию/производительности и т. Д.) Для сценариев Gremlin и Cypher, которые могут использоваться в качестве контрольного списка для выполнения этих сценариев?

ответ

1

Я не думаю, что вы найдете один конкретный ответ, поскольку обсуждение стандартов кодирования может привести к очень субъективным (и дискуссионным) ответам. Это сказало: я пойду с чем-то более объективным:

Первым шагом было бы принять решение о Gremlin vs Cypher, так как они не одно и то же и не имеют одинакового стиля. При принятии такого решения (и, может быть, это решение использует как), вам стоит внимательно ознакомиться с разработкой Neo4j 2.0 (в настоящее время на Milestone 4), поскольку Cypher быстро развивается, и в нее много работы, как с точки зрения выразительности, так и с точки зрения производительности.

Предполагая, что вы идете с Cypher, я бы предложил вам посмотреть образцы, публикуемые Neo Technology, особенно Cypher learning module. Я не знаю каких-либо опубликованных руководств, но я думаю, что большинство рекомендаций будут похожи на любые разработанные вами правила написания сценариев (например, соглашения об именах, интервалы и т. Д.). Идя дальше, вы, вероятно, собираетесь использовать Cypher через код, а также через консоль. Таким образом, вы захотите продолжить использовать свои традиционные правила стиля программирования, а также указать конкретную библиотеку, которую вы будете использовать.

1

Я могу дать вам ответ, связанный с Гремлином. Во-первых, важно отметить, что почти все примеры в Gremlin wiki, GremlinDocs, список рассылки gremlin-users и т. Д. Предназначены для REPL. Примеры прохождения из этих источников, как правило, являются длинными однострочными, которые написаны таким образом, чтобы упростить перенос с помощью copy/paste в командную строку для выполнения. Это несколько удовлетворительно, чтобы получить ответ в одной строке в REPL, но для производственного кода, который требует обслуживания с течением времени, подумайте об избежании соблазна сделать это, если только не существует определенной причины, которая его диктует.

Во-вторых, с точки зрения стиля/форматирования, Gremlin - это DSL, построенный на Groovy. Какой бы стиль вы ни хотели для Groovy, как правило, должен работать в Gremlin. Начните с Groovy recommendations и настройте их в соответствии с вашими потребностями. Я бы ожидал, что такой инструмент, как CodeNarc, поможет с общими проверками стиля и определением общих проблем с кодированием Groovy.

Смежные вопросы