On Wed, 10 Apr 2024 20:16:50 GMT, Justin Lu <j...@openjdk.org> wrote:

> Please review this PR which is a large spec reformatting for 
> _java.text.NumberFormat_ and related subclasses, specifically DecimalFormat 
> and CompactNumberFormat.
> 
> The motivation for this change was the difficulty of readability for these 
> classes. This PR consists of changes such as better separating the text into 
> sections with headers, advising to skip the pattern related sections if not 
> needed, and general wording improvements.
> 
> To help with reviewing I have attached a 
> [specdiff](https://cr.openjdk.org/~jlu/JDK-8329222/java.base/java/text/package-summary.html)
>  as well as the built docs: 
> [nFmt](https://cr.openjdk.org/~jlu/api/java.base/java/text/NumberFormat.html),
>  
> [dFmt](https://cr.openjdk.org/~jlu/api/java.base/java/text/DecimalFormat.html),
>  and 
> [cnFmt](https://cr.openjdk.org/~jlu/api/java.base/java/text/CompactNumberFormat.html);
> 
> I will update the CSR once the wording is finalized.

Here's the last part of the comments for `DecimalFormat`

src/java.base/share/classes/java/text/DecimalFormat.java line 58:

> 56: /**
> 57:  * {@code DecimalFormat} is a concrete subclass of
> 58:  * {@code NumberFormat} that formats decimal numbers in a {@link Locale 
> localized} manner.

Same as the other two classes.

src/java.base/share/classes/java/text/DecimalFormat.java line 93:

> 91:  * for example, {@link #getIntegerInstance(Locale)}. {@link
> 92:  * NumberFormat#getAvailableLocales()} can be used to determine if the 
> desired
> 93:  * locale is supported.

I don't think this section is helpful, or rather, may mislead the users. As the 
original text explains, factory methods in `NumberFormat` do not guarantee to 
return `DecimalFormat` instances by design.

src/java.base/share/classes/java/text/DecimalFormat.java line 116:

> 114:  * <p><b>For those planning to only use the factory methods, the pattern 
> syntax may
> 115:  * not be relevant. If this is the case, continue reading at the {@link 
> ##formatting Formatting and Parsing}
> 116:  * section.</b>

As in the `CompactNumberFormat`, I suggest moving the `DecimalFormat Pattern` 
section at the end.

src/java.base/share/classes/java/text/DecimalFormat.java line 168:

> 166:  * localized symbol.
> 167:  * When {@link #applyLocalizedPattern(String)} is called, the default 
> symbols lose their
> 168:  * syntactical meaning, and vice versa with {@link 
> #applyPattern(String)} with exception

Retain the original wording that explains localized and non-localized patterns 
at the beginning. Using the method example for the localized patterns might be 
a bit jump in the context.

src/java.base/share/classes/java/text/DecimalFormat.java line 255:

> 253:  * integer digits will be derived from the pattern. This derivation is 
> detailed
> 254:  * in the {@link ##scientific_notation Scientific Notation} section. 
> This behavior
> 255:  * is the typical end-user desire; {@link #setMaximumIntegerDigits(int)} 
> can be

"This behavior ... desire" can be removed.

src/java.base/share/classes/java/text/DecimalFormat.java line 263:

> 261:  * subpattern has a prefix, numeric part, and suffix. The negative 
> subpattern
> 262:  * is optional; if absent, then the positive subpattern prefixed with the
> 263:  * minus sign ({@code '-'}) is used as the

Keep the code point/name for hyphen-minus

src/java.base/share/classes/java/text/DecimalFormat.java line 398:

> 396:  * <h3>Special Values</h3>
> 397:  * <ul>
> 398:  * <li><p><b>Not a Number</b> ({@code NaN}) is successfully formatted as 
> a string,

I'd not add `successfully` here.

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

PR Review: https://git.openjdk.org/jdk/pull/18731#pullrequestreview-2001855368
PR Review Comment: https://git.openjdk.org/jdk/pull/18731#discussion_r1566248166
PR Review Comment: https://git.openjdk.org/jdk/pull/18731#discussion_r1566260898
PR Review Comment: https://git.openjdk.org/jdk/pull/18731#discussion_r1566263120
PR Review Comment: https://git.openjdk.org/jdk/pull/18731#discussion_r1566272248
PR Review Comment: https://git.openjdk.org/jdk/pull/18731#discussion_r1566279017
PR Review Comment: https://git.openjdk.org/jdk/pull/18731#discussion_r1566280153
PR Review Comment: https://git.openjdk.org/jdk/pull/18731#discussion_r1566266870

Reply via email to