You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
The text was updated successfully, but these errors were encountered:
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
andB
rely onC
, thenC
can be broken out. But ifA
andB
rely onC
, andC
relies onA
, things get complicated.The text was updated successfully, but these errors were encountered: