Why Rewrite?

Back to Dev Blog Main Page

I have decided to rewrite the app. This decision can not be made lightly as a complete and total rewrite means throwing away weeks of work. So why did I think that this would be useful over just dealing with the code and trying to wrangle new features into the codebase?

Reason one for doing this rewrite was because I had learned a lot from writing the original app and from android developer courses. Implementing this knowledge into the same app would basically require a rewrite in and of itself, so why not start from complete scratch instead of working around old code that barely works.

A good example of why a rewrite would be useful would be using fragments instead of activities, This makes it easier to implement navigation and also brings the app closer to androids material design guidelines meaning that the app looks like more android apps that people use, giving them a comfortable UI without having to use a tutorial popup that people would forget, because who uses tutorials to figure out how to use apps. People nowadays mess around and figure out how apps work, and having apps work like other similar apps helps in this method.

A second reason for the rewrite is that the code was very janky, unreadable, and untestable in the java version. This meant that the only testing that could take place was manual, and resulted in fun times where the app crashed while using it as a note-taking app outside of the house and not being able to tell what went wrong. Making the code more testable means that occurrences like random crashing when you lack access to debugging tools should happen less often as automated testing suites can catch more edge cases than human testing if the test cases are extensive enough.

Written June 7 2022