google / google/go-jsonnet

development documentation: architecture, major components, where to look

Open
#359 6 comments 0 reactions 0 assignees View on GitHub
question
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.