Programmer's Guide To Text Blocks
Alex Buckley
alex.buckley at oracle.com
Mon Aug 5 18:49:14 UTC 2019
On 8/5/2019 5:37 AM, Jim Laskey wrote:
> http://cr.openjdk.java.net/~jlaskey/Strings/TextBlocksGuide_v8.html
- Please number the guidelines like in the var style guidelines.
- "Guideline: If a string literal fits on a single line" -- A string
literal CAN ONLY fit on a single line; you mean "If a string fits ..."
- "Guideline: Most text blocks should be indented to align with
neighbouring Java code." should come after "Guideline: Avoid aligning
the opening and closing delimiters"
- "Guideline: Avoid in-line text blocks within complex expressions" --
now your readers are wondering why a normal `for` loop is "complex".
You're going for something about: be cautious using text blocks in
nested expressions. A `for` loop which pushes the text block down one
level, into the `for` header, is an example; another example would be
passing a text block in a method call (which is probably OK); another
example would be passing a text block in a truly madly deeply nested
expression (which isn't OK; show one).
- IMO a variable declaration with a text block on the RHS cries out for
a `var` on the LHS. The """ is as clear a marker as you'll ever get
about the inferred type of the variable. Is there a reason to not use
`var` almost everywhere here, and to explicitly recommend that?
- I think there should be a guideline that says it's OK to have \n
sequences in a text block -- there may be times when that's more
readable overall than physically introducing a newline.
- "Guideline: It is sometimes reasonable to fully left justify a wide
string" -- I think it's not merely reasonable, I think it's recommended.
- "... when the closing delimiter is likely to scroll out of view." --
when does this happen? There's context here which is not stated in the
guidelines, especially when an earlier guideline said to put the closing
delimiter on its own line.
Alex
More information about the amber-spec-experts
mailing list