Reorganize Mudlet's Code Layout
The goal of this blueprint is to reorganize the code base to make it easier to work with and more modular, as well as add unit tests and perhaps integration and UI tests using Qt's test framework.
Based on experience like LLVM's with writing libraries which are then used to create programs with minimal amounts of glue code, it seems beneficial to move Mudlet in that direction slowly over time. The final result should be similar to this at a high level:
1. Core library used for low level, non-gui tasks, like networking, telnet, profile data with reading/writing support. Ideally this would have the smallest set of dependencies and be fully unit tested.
2. UI layer with the following subsections:
a) Qt Model classes which allows access to the data in the core library, along with unit tests.
b) Custom Qt View classes that allow us to represent the data which is modeled in different ways, along with unit tests.
c) 'Glue' code to use the models and views above to make Mudlet come to life, along with ui integration tests.
Blueprint information
- Status:
- Not started
- Approver:
- Mudlet Makers
- Priority:
- Medium
- Drafter:
- Ahmed Charles
- Direction:
- Needs approval
- Assignee:
- Ahmed Charles
- Definition:
- New
- Series goal:
- Accepted for trunk
- Implementation:
- Not started
- Milestone target:
- trunk
- Started by
- Completed by