On Wed, 9 Jun 2021 15:41:59 GMT, Patrick Concannon <pconcan...@openjdk.org> 
wrote:

> Hi,
> 
> Could someone please review my code for updating the code in the `java.time` 
> packages to make use of the switch expressions?
> 
> Kind regards,
> Patrick

My biggest comment is the spaces used to align, which I strongly object to. I 
agree with @dfuch comments too.

src/java.base/share/classes/java/time/LocalDate.java line 608:

> 606:             if (chronoField.isDateBased()) {
> 607:                 return switch (chronoField) {
> 608:                     case DAY_OF_MONTH          -> ValueRange.of(1, 
> lengthOfMonth());

For the record, I hate code that is aligned like this. It makes refactoring 
much more noisy, as the author has to readjust all the associated lines. I also 
don't believe it is within the spirit of Java's traditional coding guidelines.

src/java.base/share/classes/java/time/chrono/ThaiBuddhistDate.java line 331:

> 329:                     yield with(isoDate.withYear(nvalue - 
> YEARS_DIFFERENCE));
> 330:                 }
> 331:                 case ERA -> with(isoDate.withYear((1 - 
> getProlepticYear()) - YEARS_DIFFERENCE));

`checkValidIntValue` performs validation, so removing it has changed the 
behavoiur

src/java.base/share/classes/java/time/format/SignStyle.java line 129:

> 127:             // valid if negative or (positive and lenient)
> 128:             case 0      -> !positive || !strict;// NORMAL
> 129:             case 1,   4 -> true; // ALWAYS, EXCEEDS_PAD

Extra space before `4`

-------------

PR: https://git.openjdk.java.net/jdk/pull/4433

Reply via email to