Code in Smart Way

29 Nov 2018

Everyone has different learning styles. My classmate I met in Japanese class, his main learning method was transcription. He transcribed everything in the textbook into his notebook by hand. Because he spent many hours to copy dialogs or example sentences, he was poor at speaking, listening, and reading in Japanese. He got stressed out (and hand pain from writing I guess) and wondered why his grades were bad. I thought there were better strategies to learn Japanese that were much efficient than transcription.

When I read the question “what design patterns have you used in your own code?,” I had a chance to think of design patterns in my code. I used to write code, stop, and test it out and repeated these steps until my program finally ran. There were some warnings, but I honestly did not care unless the programing was crushed. The reflection I saw of me was my unproductive Japanese classmate; I spent long time for bad code, got stressed and tired.

According to the article, a design pattern is not the actual code that is provided to copy and use into code, but it is a general repeatable solution to a commonly occurring problem in software design. The design pattern is such a guideline for dealing with problem and makes the solving problem faster and productive. Also, they are are actually used in modern development enviroment.

My coding processes above are not just wasting time and effort because at least I learn something through the practices, mistakes, and experiments. However, if I use design pattens, then I am able to learn better and save time while skipping cumbersome process as smart software engineer. There are many different design pattens that make my code smart. It is worth to learn.

Reference: https://www.proteloinc.com/blog/design-patterns-important-software-engineering/