Files
upstream-uber-go-guide/CHANGELOG.md

81 lines
1.7 KiB
Markdown

# 2023-05-09
- Test tables: Discourage tables with complex, branching test bodies.
# 2023-04-13
- Errors: Add guidance on handling errors only once.
# 2023-03-03
- Receivers and Interfaces: Clarify subtlety with pointer receivers and values.
# 2022-10-18
- Add guidance on managing goroutine lifecycles.
# 2022-03-30
- Add guidance on using field tags in marshaled structs.
# 2021-11-16
- Add guidance on use of `%w` vs `%v` with `fmt.Errorf`, and where to use
`errors.New` or custom error types.
# 2021-11-12
- Add soft line length limit of 99 characters.
# 2021-04-19
- Programs should exit only in `main()`, preferably at most once.
# 2021-03-15
- Add guidance on omitting zero-value fields during struct initialization.
- Add guidance on `Foo{}` versus `var` form for initialization of empty
structs.
- Add new section for Initializing Structs, moving relevant guidances into
subsections of it.
# 2020-06-10
- Add guidance on avoiding `init()`.
- Add guidance to avoid using built-in names.
- Add reminder that nil slices are not always the same as empty slices.
# 2020-02-24
- Add guidance on verifying interface compliance with compile-time checks.
# 2020-01-30
- Recommend using the `time` package when dealing with time.
# 2020-01-25
- Add guidance against embedding types in public structs.
# 2019-12-17
- Functional Options: Recommend struct implementations of `Option` interface
instead of capturing values with a closure.
# 2019-11-26
- Add guidance against mutating global variables.
# 2019-10-21
- Add section on remaining consistent with existing practices.
- Add guidance on map initialization and size hints.
# 2019-10-11
- Suggest succinct context for error messages.
# 2019-10-10
- Initial release.