Rewrite and rewire
1. Chart necessities When you start with existing code then usually it's well bloated. There are half formed, half-implemented ideas, constructs remaining from discarded ideas as well as code that's lying in comments. We need to remove all of this and add new code so that the new software ends up being slicker and easier to manage than old software. Code management is a complex job, and it's almost akin to file management on your personal computer or Laptop. Often you horde up files and what not together and when you start on cleaning you come to understad that half of the stuff is junk. So is with code. In any application which doesn't have quality people looking after it, there's a lot of junk code lying around. It's often in the form of unimplemented ideas coded partially which end up in comments. Or structures that are not used anywhere. Or header files that are not included anywhere. 2. Start with barebone infracture We start with an empty project...