Development

13 May 2021

Clean Design becomes Stress-free Applications

Before learning about softeare engineering processes, I had tried to write a web application. Unfortunately, the application failed before it got out of the gate. To sum up the problems, my codebase was filled with messy code that would cause my brain to lag even thinking about it. Now that I’ve learned a bit more about different processes of designing applications, I know where I went wrong. Like a computer processor, my brain works better when it knows the rules. Trying to remember whether ‘my_web_app’ or ‘my_web_app_2’ contains the more complete codebase a month later is no simple task. However, going to the git repository and letting it tell me that the ‘feature-security’ branch of ‘my_web_app’ is 2 commits ahead of the origin is so easy I don’t even have to remember anything.

Oriented Development

When I was writing these programs, most of the time it would start with an idea. These ideas are all well and good, however, when it came time to start writing the program to implement the idea, my work would just push away any problems in trying to finish the app. Because of this, there came a time when the bugs in my code caught up to my development and caused the entire project to fail. Luckily, I am not the first person to run into this problem. I’ve since learned about the work people have done in order to avoid these issues. These ideas have come together to form what are known as design patterns. Instead of surging ahead as if I know everything, putting more effort into the time before any code is written has become more valuable to me. Creating a plan so that I can make time for solving issues that I know will pop up has been a boon to my work with other people, as well as my individual projects.

Organization

To put it simply, everything has a place, and that place is well defined. Going back to some of my own projects, sometimes I didn’t write descriptions of what I was doing. I have a few projects on Github that I do not know the purpose of or how they work. It is quite sad to put time into something I can not go back into and enjoy the fruits of my labor. From my first classes in programming I was told the value of documentation. After learning more about software engineering practices and applying those practices, I have now felt the value of commenting.

The process can be fun, too!

All of these different design elements can at times feel unnecessary, or annoying. Similarly to medidation, the effects of clean code aren’t always apparent while practicing. However, after a week or so of doing it, my mind has felt more free then it has ever felt while programming. Perhaps in the future doctors may prescribe good software engineering practices to worried developers.