style: strengthen constructor naming and Params struct rules #19
@@ -138,13 +138,13 @@ last_modified: 2026-02-22
|
||||
|
||||
1. Constructors **must** be called `New()`. `modulename.New()` works great if
|
||||
you name the packages properly. If the constructor creates an instance from
|
||||
an existing value or representation, `From<Something>()` (e.g. `FromBytes()`,
|
||||
`FromConfig()`) is also acceptable. If the package contains multiple types
|
||||
and `New()` is ambiguous, `NewThing()` is occasionally acceptable — but
|
||||
prefer restructuring packages so each type gets its own package and a plain
|
||||
`New()`. Do not invent creative constructor names like `Create()`, `Make()`,
|
||||
`Build()`, `Open()` (unless wrapping an OS resource), or `Init()`. If you
|
||||
see a constructor with a non-standard name, rename it.
|
||||
an existing value or representation, `From<Something>()` (e.g.
|
||||
`FromBytes()`, `FromConfig()`) is also acceptable. If the package contains
|
||||
multiple types and `New()` is ambiguous, `NewThing()` is occasionally
|
||||
acceptable — but prefer restructuring packages so each type gets its own
|
||||
package and a plain `New()`. Do not invent creative constructor names like
|
||||
`Create()`, `Make()`, `Build()`, `Open()` (unless wrapping an OS resource),
|
||||
or `Init()`. If you see a constructor with a non-standard name, rename it.
|
||||
|
||||
1. Don't make packages too big. Break them up.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user