Open
Description
In order to improve the maintainability of mm2, there are things that they are really necessary to make some improvements in terms of maintaining the project, debugging the source code, etc.
Our current improvement goals will be as following:
- Improvement: '/mm2src' should only have crate directories. And merge related modules into same crate and keep the root directory as simple as possible.
- Reason: At the moment, it's really messed up about where are the modules and crates. Some of the crates are in the 2-3x nested directory so you can't even see them in the first place.
- Improvement: Write a simple description for each module about what they are responsible for.
- Reason: In a large project that contains modules consisting of 2000-3000 lines, it will be very useful to understand the functionality of the modules by reading 10-15 lines short summaries.
- Improvement: Doc comment(///) every implemented functions and custom data types.
- Reason: When the size of the project is considered, trying to understand everything from the names will be quite difficult. Therefore, giving a short explanation on functions and custom data types might help every developer.
- Improvement: Apply rust's common package structure for each crate. details
- Reason: Using Rust's common standards will make mm2 more familiar to Rust developers for who will contribute to mm2.
EDIT
additional task:
- refactor tests and separate integration ones below to
test
dir. - fix(hashing): improve byte array conversion methods #2279 (comment)
cc @artemii235