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

Refector project directory structure #13

Open
jmjatlanta opened this issue Jun 18, 2021 · 0 comments
Open

Refector project directory structure #13

jmjatlanta opened this issue Jun 18, 2021 · 0 comments

Comments

@jmjatlanta
Copy link
Owner

jmjatlanta commented Jun 18, 2021

Komodo combines much of the work of bitcoin, zcash (which also uses the bitcoin codebase), and other technologies. Things are mixed in to the point that it is difficult to tell what parts are used and which are not. The 'C' style used in some areas complicate things (i.e. classes are currently used sparingly, with functions calling the internal "class" (often a static instance within a compilation unit) instead of a class having a defined public interface.

In addition, the src directory contains a large number of files.

One idea to improve developer productivity would be to break things into sub-directories by function and have well defined interfaces between components.

There are already a number of sub-directories under src. So adding more with no forethought may only exacerbate the issue. An overall view of the system, breaking it down into its major functional areas, and making logical divisions may help.

A design for dependencies should also be examined. Components that are "stand-alone" can easily be broken out. If A and B rely on C, then C can be broken out. But if A and B rely on C, and C relies on A, things get complicated.

jmjatlanta pushed a commit that referenced this issue Jan 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant