Re: Ternary operator formatting
MG <mgbiz-yvYIh6MZAuFWk0Htik3J/[email protected]> Thu, 30 Jul 2026 22:33:30 +0200
| Newsgroups | gmane.comp.lang.groovy.devel |
|---|---|
| Message-ID | <[email protected]> |
This is a multi-part message in MIME format. --------------8hPMJgpv8L3mgFqjYtpmyids Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit I think it could have been worded better to avoid any confusion, but no need to spam the ML with this, sent you a PM, Cheers, mg Am 28.07.2026 um 22:49 schrieb Gianluca Sartori: > Yes it is only for longer statements, I didn’t write it here, it was > in the linked PR: > > * Using ternary operators only for simple conditions. > * Splitting longer expressions across multiple lines. > * Aligning the ? and : branches for readability. > > > > Gianluca Sartori > -- > https://dueuno.com > > On Tue, 28 Jul 2026 at 22:31, MG <mgbiz-yvYIh6MZAuFWk0Htik3J/[email protected]> wrote: > > Paul already cleared this up, so just a quick reply: I assumed > from your post saying "We usually format ternary operators like > this for readability" that you meant in general - but if you meant > only for longer (to be defined, so an LLM-bot gets it ;-) ) > expressions, yes, why not G-) > > Cheers, > mg > > > Am 28.07.2026 um 10:00 schrieb Gianluca Sartori: >> That's the idea, to use the multiline style only when there are >> longer expressions like strings, method calls, etc. >> >> Anyway I just realized there is no `groovy-developer` skill in >> the groovy project, maybe Grails is the right place to work on it? >> >> >> Gianluca Sartori >> -- >> https://dueuno.com >> >> >> On Mon, 27 Jul 2026 at 19:03, MG <mgbiz-yvYIh6MZAuFWk0Htik3J/[email protected]> wrote: >> >> Hi Gianluca, >> >> I might misuderstand what you propose here, but for me the >> whole idea behind cond ? trueBranch : falseBranch is that it >> is a one-liner. >> Otherwise it is better suited for if-else-... >> >> Having said that, I can see that this way of formatting might >> make sense, if trueBranch and falseBranch are long(ish) >> String/GString|s (which we in our code do not have) - but as >> a general formatting rule, I would be against this. >> >> Cheers, >> mg >> >> >> Am 27.07.2026 um 14:38 schrieb Gianluca Sartori: >>> Hi people, >>> >>> I've proposed the following PR to the Grails project in a >>> rush, but I guess its proper place is the Groovy project. >>> >>> https://github.com/apache/grails-core/pull/16055 >>> >>> We usually format ternary operators like this for readability: >>> >>> String message = condition >>> ? "Value when true" >>> : "Value when false" >>> >>> Would you accept such PR on the groovy-developer skill? >>> >>> Cheers, >>> Gianluca >>> >>> Gianluca Sartori >>> -- >>> https://dueuno.com >> > --------------8hPMJgpv8L3mgFqjYtpmyids Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> I think it could have been worded better to avoid any confusion, but no need to spam the ML with this, sent you a PM,<br> Cheers,<br> mg<br> <br> <div class="moz-cite-prefix">Am 28.07.2026 um 22:49 schrieb Gianluca Sartori:<br> </div> <blockquote type="cite" cite="mid:CAEJ7v=kFWesh-ke2Yz9D=8=n5yoQyMoExbb5drQfrWL_QWyLXw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org"> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <div> <div dir="auto">Yes it is only for longer statements, I didn’t write it here, it was in the linked PR:</div> </div> <div style="border-color:rgb(255,255,255)!important"> <div dir="auto"><br> </div> <div dir="auto" style="border-color:rgb(255,255,255)!important"> <div style="border-color:rgb(255,255,255)!important"> <ul dir="auto"> <li>Using ternary operators only for simple conditions.<br> </li> <li>Splitting longer expressions across multiple lines.<br> </li> <li><span style="border-color:rgb(35,40,44)">Aligning the ?</span><span style="border-color:rgb(35,40,44)"> and :</span><span style="border-color:rgb(35,40,44)"> branches for readability.</span><br> </li> </ul> </div> </div> <div><br clear="all"> <br clear="all"> <div> <div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"> <div dir="ltr">Gianluca Sartori <div>--</div> <div><a href="https://dueuno.com" target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">https://dueuno.com</a></div> </div> </div> </div> </div> <div><br> <div class="gmail_quote"> <div dir="ltr" class="gmail_attr">On Tue, 28 Jul 2026 at 22:31, MG <<a href="mailto:mgbiz-yvYIh6MZAuFWk0Htik3J/[email protected]" target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">mgbiz-yvYIh6MZAuFWk0Htik3J/[email protected]</a>> wrote:<br> </div> <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"> <div> Paul already cleared this up, so just a quick reply: I assumed from your post saying "We usually format ternary operators like this for readability" that you meant in general - but if you meant only for longer (to be defined, so an LLM-bot gets it ;-) ) expressions, yes, why not G-)<br> <br> Cheers,<br> mg</div> <div><br> <br> <div>Am 28.07.2026 um 10:00 schrieb Gianluca Sartori:<br> </div> <blockquote type="cite"> <div dir="ltr"> <div>That's the idea, to use the multiline style only when there are longer expressions like strings, method calls, etc.</div> <div><br> </div> <div>Anyway I just realized there is no `groovy-developer` skill in the groovy project, maybe Grails is the right place to work on it?</div> <div><br> </div> <div><br> </div> <div> <div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"> <div dir="ltr">Gianluca Sartori <div>--</div> <div><a href="https://dueuno.com" target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">https://dueuno.com</a></div> </div> </div> </div> <br> </div> <br> <div class="gmail_quote"> <div dir="ltr" class="gmail_attr">On Mon, 27 Jul 2026 at 19:03, MG <<a href="mailto:mgbiz-yvYIh6MZAuFWk0Htik3J/[email protected]" target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">mgbiz-yvYIh6MZAuFWk0Htik3J/[email protected]</a>> wrote:<br> </div> <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"> <div> Hi Gianluca,<br> <br> I might misuderstand what you propose here, but for me the whole idea behind cond ? trueBranch : falseBranch is that it is a one-liner.<br> Otherwise it is better suited for if-else-...<br> <br> Having said that, I can see that this way of formatting might make sense, if trueBranch and falseBranch are long(ish) String/GString|s (which we in our code do not have) - but as a general formatting rule, I would be against this.<br> <br> Cheers,<br> mg<br> <br> <br> <div>Am 27.07.2026 um 14:38 schrieb Gianluca Sartori:<br> </div> <blockquote type="cite"> <div dir="ltr"> <div>Hi people,<br clear="all"> </div> <div><br> </div> <div>I've proposed the following PR to the Grails project in a rush, but I guess its proper place is the Groovy project.</div> <div><br> </div> <div><a href="https://github.com/apache/grails-core/pull/16055" target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">https://github.com/apache/grails-core/pull/16055</a></div> <div><br> </div> <div>We usually<span style="background-color:transparent"> format ternary operators like this for readability:</span></div> <div><br> </div> <div>String message = condition<br> ? "Value when true"<br> : "Value when false"</div> <div><br> </div> <div>Would you accept such PR on the groovy-developer skill?</div> <div><br> </div> <div>Cheers,</div> <div>Gianluca</div> <div><br> </div> <div> <div dir="ltr" class="gmail_signature"> <div dir="ltr">Gianluca Sartori <div>--</div> <div><a href="https://dueuno.com" target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">https://dueuno.com</a></div> </div> </div> </div> </div> </blockquote> <br> </div> </blockquote> </div> </blockquote> <br> </div> </blockquote> </div> </div> </div> </blockquote> <br> </body> </html> --------------8hPMJgpv8L3mgFqjYtpmyids--