These are a few thoughts on how the code base and general development setup can be made more maintainable:

  • Keep experimental code in branches until ready to incorporate into the core:
    • Maemo build.
    • Windows Mobile Build.
    • Tilt input support.
    • Socket input support (? - this may be used).
  • Unify desktop front-ends.
  • Remove obsolete code from SVN, eg.
    • Qt front end.
    • Old MacOS and Win32 front ends if/when merged with GTK+.
    • 'Test' directory.
    • Utils/Linux/Packaging (see next point).
  • Make SVN include the authoritative set of colour, alphabet and training files.
  • Audit preprocessor #defines.
  • Factor out some of the worst overengineered code:
    • DasherView / DasherViewSquare distinction

    • Use of alphabet symbol ids rather than strings (this needs some thought, eg. formal definition of what the role of the alphabet is)
    • Rationalise use of myint / screenint types
  • Restructure source code directories to group things better by functionality
    • Remove intermediate libraries from Unix build - just build a single executable at the end

Projects/Dasher/CodeSimplification (last edited 2013-11-22 22:48:31 by WilliamJonMcCann)