Scientific Experiment in Coding

02 Dec 2021

Coding is one of the fundamental requirements for Computer Science developers, it has provided thousands and millions of possibilities of combination in one project, but It is never too easy for us developers to perfectly complete one development due to the encountered of hundreds and thousands of problem errors during the creation. To me, coding is like doing a scientific experiment that requires observation, question, research, hypothesis, experiment, and conclusions. Because the basic process of start coding is to observe the problem and create a strategy in the algorithm, then we have to apply such algorithms to our hypothesis in code from and iterate it to confront the result of this experiment to solve the problem in the hypothesis, we called this the “Design Patterns” in computer science. Design patterns are the universal solution for a similar types of problems for developers as references.

Unlike the reports in the scientific experiments, developers need to keep updating and upgrading the codes to follow along with the demand of users. The existence of design patterns is to keep the software development as maintainable and extensible as possible to reduce the coupling of the code in one project.

One of the design patterns types I have been using for my 2021 fall semester is the Model-View-Controller pattern where the information displayed on the screen for my users is different from the state of my system. Just like the website I’m developing right now, where every data object has a unique number of Id that is hidden under user’s screen, but with that Id number, I’m able to locate more detail informations about this object in the database which the user will not even notice the existence of it.

Design patterns are one of the mandatory components in developing, many of the developers probably didn’t even notice those patterns were helping us develop with more logical ideas. And just like scientists, many solutions come out after one and another failed experiment, but I think with the updated design patterns, we are likely preventing failure for future developers in their coding career.