Summary
Generated From{Unit} factories mix singular and plural forms across dimensions, which is jarring for consumers and inconsistent with the documented API surface.
Evidence
From Semantics.Quantities/Generated/.../*.g.cs:
| File |
Generated factory |
Mass.g.cs |
FromKilogram (singular) |
Force1D.g.cs |
FromNewton (singular) |
Distance.g.cs |
FromMeter (singular) |
Diameter.g.cs |
FromMeter (singular) |
Airspeed.g.cs |
FromMetersPerSecond (plural) |
Acceleration1D.g.cs |
FromMetersPerSecondSquared (plural) |
AngularMomentum1D.g.cs |
FromKilogramMeterSquaredPerSecond (singular composite) |
Meanwhile the strategy doc (docs/strategy-unified-vector-quantities.md) advertises Speed.FromMetersPerSecond(...) and Force1D.FromNewtons(...) (plural).
Impact
- API surface differs from documentation.
- Calling code must guess which form a given unit uses.
Suggested next step
Pick a single convention (recommended: plural for all units, since most values are quantities) and update the unit metadata / generator so every emitted factory uses it. Add a unit test (or generator snapshot) that asserts the convention across all generated quantities.
Area / Severity
SourceGenerators · cleanup
Summary
Generated
From{Unit}factories mix singular and plural forms across dimensions, which is jarring for consumers and inconsistent with the documented API surface.Evidence
From
Semantics.Quantities/Generated/.../*.g.cs:Mass.g.csFromKilogram(singular)Force1D.g.csFromNewton(singular)Distance.g.csFromMeter(singular)Diameter.g.csFromMeter(singular)Airspeed.g.csFromMetersPerSecond(plural)Acceleration1D.g.csFromMetersPerSecondSquared(plural)AngularMomentum1D.g.csFromKilogramMeterSquaredPerSecond(singular composite)Meanwhile the strategy doc (
docs/strategy-unified-vector-quantities.md) advertisesSpeed.FromMetersPerSecond(...)andForce1D.FromNewtons(...)(plural).Impact
Suggested next step
Pick a single convention (recommended: plural for all units, since most values are quantities) and update the unit metadata / generator so every emitted factory uses it. Add a unit test (or generator snapshot) that asserts the convention across all generated quantities.
Area / Severity
SourceGenerators · cleanup