Code architecture improvements
- Separate classes in differents folders, for example :
- UI
- Perf
- Seq
- Main
- Menu
- Icons (XPM)
...
- IO
ALSA, JackMIDI...
- Engine
Events, sequence...
main.cpp
It's just an example, but it would make the code comprehensible more quickly. It's also make us sure to respect layers decoupling.
- Use doxygen to generate a technical doc, and comment every function.
- Frequently pass cppcheck (variable initializations and memory leaks) and push gcc warning to the highest level.
- Use constructors initialization lists.
- Don't use "friends" classes, like Seq24PerfInput and PerfRoll (in my opinion it's not a good practice). Also, don't write many classes in one file.
- Write a lot of unit tests !
- Maybe benchmarking ?
There are some of my ideas, I'll surely give some others in the future. It's not necessary to do it in one time, but we can begin to do it gradually. I don't know if all are good and workable, but it could be interesting to improve the code before the 1.0 release !
Blueprint information
- Status:
- Not started
- Approver:
- None
- Priority:
- Undefined
- Drafter:
- None
- Direction:
- Needs approval
- Assignee:
- None
- Definition:
- Discussion
- Series goal:
- None
- Implementation:
- Unknown
- Milestone target:
- None
- Started by
- Completed by
Whiteboard
A simple cppcheck.txt file has been added in my branch. File is generated while using this command :
cppcheck --all . 2> cppcheck.txt
And what about Valgrind ? http://