development documentation: architecture, major components, where to look
- Dominant language
- Go
- Stars
- 1.8k
- Forks
- 263
- PR merge metrics
- No merged PRs in 30d
Description
I'd like to work on improving errors and stacktraces in general. Goals:
- Pattern for creating errors
- Pattern for returning errors (including error wrapping)
- Ensure stacktraces are reliably emitted
- Improve stacktraces to help users identify where in their code the problem exists (#49)
I'd like to use the new go 1.13 `As`, `Is` and `%w` features for errors and contexts (`xerrors` package for backwards compatibility). I'm not sure exactly how errors are handled in this package. Or where the root of "error encountered, print it and exit"
I'm not sure where to look though for how stacktraces are captured and added to the error output.
Finally, from previous PRs, I've noticed that either there's a widespread bug that stacktraces aren't reliably being emitted, or the tests in `testdata` that produce an error out don't include the stacktrace.
Any help from those more familiar with the code base would be greatly appreciated to help me get oriented! Thank you in advance.
Contributor guide
Research direction
Start by mapping how errors are handled and where the package prints an error and exits, then inspect the testdata cases that produce errors. Review the proposed Go 1.13 As, Is, and %w features alongside xerrors. Done would mean documented error-creation and wrapping patterns, reliable stacktrace coverage, and clearer guidance on where to look.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- developer-experience, documentation
- Issue type
- Documentation
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100