Pentagon and grid navigation error codes
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 6.5k
- Forks
- 627
- Avg merge
- 3d 21h
- Merged PRs (30d)
- 6
Description
I wanted to make sure we were in agreement around an offline discussion of #619. I think I'll abandon the changes in that PR and just start a new one, once we reach agreement in this issue.
The thinking, as I recall, was to add a few new error codes:
E_UNREACHABLE_CELL: when an algorithm was unable to reach a desired cell. these situations may relate to pentagon distortion or cells being too far apart. this situation might be overcome with a "safe" version of the function or with future algorithm improvements (check the function documentation)E_PENTAGON_DOMAIN: when attempting to access the deleted subsequence of a pentagonE_UNEXPECTED_CODE_PATH: for when we reach a situation which we expect to be impossible. users should let us know whenever they see this, as this indicates an implementation bug
We would also remove E_PENTAGON, and use either E_UNREACHABLE_CELL or E_PENTAGON_DOMAIN in its place.
We would not add E_TOO_FAR, as that would be covered by E_UNREACHABLE_CELL.
We would also not add E_RETRY_WITH_SAFE, as that information will can be given in the specific function documentation.
One alternative
We could potentially split E_UNREACHABLE_CELL into two different errors:
E_TOO_FARE_PENTAGON_DISTORTION
And E_PENTAGON_DOMAIN would remain. My thinking is that it is distinct from E_PENTAGON_DISTORTION. Folks agree?
Or is all this more detail than the user needs?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the offline discussion referenced in issue #619 and the relevant function documentation. Compare the proposed E_UNREACHABLE_CELL, E_PENTAGON_DOMAIN, and E_UNEXPECTED_CODE_PATH codes with the existing E_PENTAGON behavior, including the alternative split discussed here. Done means the error-code design is agreed and the implementation and documentation reflect that decision.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- backend-api-design
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100