You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tinkerpop.apache.org by Stephen Mallette <sp...@gmail.com> on 2016/04/15 10:54:26 UTC
Re: [TinkerPop] Re: [DISCUSS] Proper indentation of Gremlin traversals.
I would think a section on style would be useful though ultimately we all
tend to have our own ideas on what looks good. I guess you would look to
add this to the reference docs?
On Thu, Apr 14, 2016 at 6:06 PM, Marko Rodriguez <ok...@gmail.com>
wrote:
> Hi,
>
> What do YOU people think about putting this in the docs? That is, a
> multi-line style guide.
>
> Marko.
>
> http://markorodriguez.com
>
> On Mar 4, 2016, at 7:39 AM, Marko Rodriguez <ok...@gmail.com> wrote:
>
> Hello,
>
> I'm futzing with our docs and noticed that the authors have different
> indentation styles for multi-line Gremlin traversals.
>
> I think we should converge on a similar style? ………
>
> And guess what, I think my style is the best.
>
> g.V().out("knows").out("attended"). // <1>
> group().by("state").by() // <2>
> select("Vermont").unfold() // <3>
> in("attended").has("gpa") // <4>
> order() // <5>
> by("age",decr). // <6>
> by("gpa",incr).
> limit(10).values("name") // <7>
>
>
> Key features:
>
> 1. A bunch of in().outs().filters().etc. on a single line until it gets
> too long.
> 2. If you bust a barrier (reducer, aggregator, etc.), new line.
> 3. When a next line component is an "add on" to the previous line
> component, 2 space indent.
> - that select() is "almost like" a by().
> - unfold() is a dirty sucky you just tack on the end and don't make it too
> prominent as its just data formatting.
> 4. Back to a series of in().outs().etc., new line.
> 5. Another barrier -- new line.
> 6. If there is only one by()-modulator (or a series of short ones), keep
> it on one line. If its complex, each by() is a line.
> 7. Back to a series outs().filters().maps().etc.
>
> In summary,
>
> 1. 2 space indent.
> 2. Nothing is on equal spacing with "g."
> 3. Barriers form line breaks.
> 4. by()-modulators form indented "paragraphs."
> 5. Standard filters.maps.flatmaps are single line until it gets unwieldy.
>
> Thoughts?,
> Marko.
>
> http://markorodriguez.com
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Gremlin-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to gremlin-users+unsubscribe@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/gremlin-users/C34EE833-2D5E-471A-890E-31327E7707D5%40gmail.com
> <https://groups.google.com/d/msgid/gremlin-users/C34EE833-2D5E-471A-890E-31327E7707D5%40gmail.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>
Re: [TinkerPop] [DISCUSS] Proper indentation of Gremlin traversals.
Posted by Marko Rodriguez <ok...@gmail.com>.
Hi,
> I would think a section on style would be useful though ultimately we all tend to have our own ideas on what looks good. I guess you would look to add this to the reference docs?
Yes. I was looking a provider's docs the other day and it was "one-liner" central. I recommended they break up their traversals to make them "prettier" and then pointed them to THIS EMAIL! :) … Be good to have it in the reference docs and point them there. I will add a section to the tp31/ branch and up merge.
Marko.
>
> On Thu, Apr 14, 2016 at 6:06 PM, Marko Rodriguez <ok...@gmail.com> wrote:
> Hi,
>
> What do YOU people think about putting this in the docs? That is, a multi-line style guide.
>
> Marko.
>
> http://markorodriguez.com
>
> On Mar 4, 2016, at 7:39 AM, Marko Rodriguez <ok...@gmail.com> wrote:
>
>> Hello,
>>
>> I'm futzing with our docs and noticed that the authors have different indentation styles for multi-line Gremlin traversals.
>>
>> I think we should converge on a similar style? ………
>>
>> And guess what, I think my style is the best.
>>
>> g.V().out("knows").out("attended"). // <1>
>> group().by("state").by() // <2>
>> select("Vermont").unfold() // <3>
>> in("attended").has("gpa") // <4>
>> order() // <5>
>> by("age",decr). // <6>
>> by("gpa",incr).
>> limit(10).values("name") // <7>
>>
>> Key features:
>>
>> 1. A bunch of in().outs().filters().etc. on a single line until it gets too long.
>> 2. If you bust a barrier (reducer, aggregator, etc.), new line.
>> 3. When a next line component is an "add on" to the previous line component, 2 space indent.
>> - that select() is "almost like" a by().
>> - unfold() is a dirty sucky you just tack on the end and don't make it too prominent as its just data formatting.
>> 4. Back to a series of in().outs().etc., new line.
>> 5. Another barrier -- new line.
>> 6. If there is only one by()-modulator (or a series of short ones), keep it on one line. If its complex, each by() is a line.
>> 7. Back to a series outs().filters().maps().etc.
>>
>> In summary,
>>
>> 1. 2 space indent.
>> 2. Nothing is on equal spacing with "g."
>> 3. Barriers form line breaks.
>> 4. by()-modulators form indented "paragraphs."
>> 5. Standard filters.maps.flatmaps are single line until it gets unwieldy.
>>
>> Thoughts?,
>> Marko.
>>
>> http://markorodriguez.com
>>
>
>
> --
> You received this message because you are subscribed to the Google Groups "Gremlin-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to gremlin-users+unsubscribe@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/gremlin-users/C34EE833-2D5E-471A-890E-31327E7707D5%40gmail.com.
> For more options, visit https://groups.google.com/d/optout.
>
>
> --
> You received this message because you are subscribed to the Google Groups "Gremlin-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to gremlin-users+unsubscribe@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/gremlin-users/CAA-H43-gLSbzcFXqAA9meWjpjwdQ7GOCbHY2b5c%3DYFkCvkKYcw%40mail.gmail.com.
> For more options, visit https://groups.google.com/d/optout.