bchavez / bchavez/RethinkDb.Driver
Simplify run helpers?
- Dominant language
- C#
- Stars
- 381
- Forks
- 129
- PR merge metrics
- No merged PRs in 30d
Description
One one the first things that confused me was why are there so many Run\* methods.
Let's see (excluding async versions):
1. `object Run()`
2. `object Run()`
3. `void RunNoReply()`
4. `Cursor RunCursor()`
5. `T RunAtom()`
6. `T RunResult()`
7. `Result RunResult()`
8. `Cursor> RunChanges()`
9. `IEnumerable> RunGrouping()`
Why is (2) needed? If i give it a and it returns object it's not at useful as it could be. Here's suggestion:
1. `object Run()`
2. `T Run()`
3. `Cursor RunCursor()`
If you need Result you'd just do `Run()`, if you need Atom you'd do `Run`.
What do you think?
Contributor guide
Research direction
Start by reviewing the listed synchronous Run, RunCursor, RunAtom, RunResult, RunChanges, and RunGrouping entry points and the surrounding discussion. Determine whether the proposed generic Run() API is compatible with the existing driver surface; done means the maintainers agree on a concrete API change and its affected methods.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- backend-api-design, database
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100