Yes, I noted that text blocks are not that great with string concatenation.
I agree with all you say, as I said, these are all questions of taste and it’s easy to get lost in them. I also think you spent a good amount of time tweaking the parameters already, and the result looks very good. So +1 for the patch as it is. Hannes > Am 05.05.2020 um 18:07 schrieb Jonathan Gibbons <jonathan.gibb...@oracle.com>: > > Hannes, > > Thanks for the feedback. > > It is easy enough to change the threshhold for wrapping very long lines. > I'll look at the other cases you mention, but the more we get into style > issues like "convert all or convert none", the harder it will be to come up > with rules for the converter. At some point we'll have to declare victory, > push the automated conversion, and then fix up other cases manually, either > in a single separate pass, or individually when we next edit the respective > files. > > The converter program has a length threshhold; in the first iteration, there > were cases where short strings were being converted and looked more clumsy > than the original. This was particularly true in some cases with interposed > values, like > "start of message " + value + " rest of message". > > -- Jon > > > On 5/5/20 8:55 AM, Hannes Wallnoefer wrote: >> Hi Jon, >> >> I find that using text blocks increase readability greatly, and the patch >> looks mostly very good to me. >> >> There are a few cases where I am not quite sure about the criteria used to >> decide whether or not to use text blocks. Nothing too bad but I think these >> are worth discussing: >> >> TestConstructors.java line 77: >> These are all short strings with a few escapes, it seems strange that one is >> converted to a text block just because it is a few characters longer. I >> think these strings should all be converted, or none of them. But I must >> admit it’s tough to decide where to draw the line. >> >> TestClassCrossReferences.java line starting at line 57: >> I like the wrapping of very long lines into actual „blocks“, but I think the >> threshold of 240 characters is too large in relation to the 80 characters >> pieces we chop them into. A line of 200 characters looks a bit like it was >> forgotten next to a wrapped block. IMO 120 or 160 characters would be a >> better threshold, i.e. a bit longer than the ideal length but still ok. >> I think my point is: chopped lines are quite easy to recognise as one big >> line, so no need to avoid them so long. >> >> TestHtmlVersion.java line 566: >> TestIndexInPackageFiles.java line 60: >> Why are these strings not converted? They are rather short, but they consist >> of 3 lines each and I think they woud benefit from text block representation. >> >> TestSearch.java line 326: >> These strings of Unicode escapes don’t seem to benefit from text block >> conversion, except for the \n at the end. Is that the reason they were >> included, or was it because of the unicode escapes? >> >> Hannes >> >> >>> Am 01.05.2020 um 23:13 schrieb Jonathan Gibbons >>> <jonathan.gibb...@oracle.com>: >>> >>> Please review a big, but conceptually simple, change to convert JavaDoc >>> tests to use text blocks where reasonable. >>> >>> This is an "automated" change, albeit using a custom new utility program >>> written for this specific purpose. There are no manual edits to any test >>> files. There should be no functional change in any test file. >>> >>> The conversion program scans source files looking for candidates to convert >>> into text blocks. Candidates are long strings containing '\n' or '"' >>> characters. >>> >>> Some tests contain very long strings, that previously were manually wrapped >>> at arbitrary points in the string. The converter program wraps these very >>> long strings (> 240 characters) every 80 characters. The fixed length of >>> each "chunk" and trailing '\' helps provide a visual distinctive block of >>> text for the long line. Note, this algorithm assumes there is no risk of >>> breaking low-level Unicode sequences within the strings in the test files. >>> >>> -- Jon >>> >>> JBS: https://bugs.openjdk.java.net/browse/JDK-8242532 >>> Webrev: http://cr.openjdk.java.net/~jjg/8242532/webrev.01/ >>> >>>