Principles and features
General principles behind midge include:
- Keep it simple.
- Minimise the number of states so that the user does not
accidentally miss bugs.
- Keep states as orthogonal as possible.
- Avoid rarely used state values (e.g. use "new" again rather
than "reopened")
- Allow some states to have values dynamically decided by the
user (and automatically cleaned up when unused).
- Reduce administration to an absolute minimum.
Key programming features of Midge include:
- Developed entirely in Python.
- Ever expanding unit test coverage.
- Normalised SQL tables.
- No manual database setup/teardown.
- Import/export API for migrating bugs to/from other systems.