Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor common Node interface from Node and FastNode structs #25

Closed
8 tasks
Tracked by #1172
p0mvn opened this issue Feb 21, 2022 · 2 comments
Closed
8 tasks
Tracked by #1172

Refactor common Node interface from Node and FastNode structs #25

p0mvn opened this issue Feb 21, 2022 · 2 comments
Labels
enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed tech-debt

Comments

@p0mvn
Copy link
Member

p0mvn commented Feb 21, 2022

Background

Please refer to #14 for more background information.

This task is specific to creating an interface for Node and refactoring the dependents to depend on the new abstraction instead of the concrete Node or FastNode struct.

This issue is blocking and must be done before: #24

Acceptance Criteria

  • Rename Node struct to TreeNode
  • Determine methods that can be shared between TreeNode and FastNode
  • Create Node interface with the mentioned-above methods
  • Refactor all dependents of the TreeNode to depend on the Node interface instead
  • Refactor all dependents of the FastNode to depend on the Node interface instead
  • mock Node is created and existing unit tests are refactored to use the mock
  • additional unit tests are added where needed
  • all unit tests pass
@p0mvn p0mvn added enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed tech-debt labels Feb 21, 2022
@ValarDragon
Copy link
Member

Great idea!

@p0mvn
Copy link
Member Author

p0mvn commented May 10, 2022

Given how risky changes on IAVL are. I think that this refactor is not worth the effort so I'm going to close this. Please let me know if any concerns

@p0mvn p0mvn closed this as completed May 10, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed tech-debt
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

2 participants