CST 438 - Module 3

 Week 3,

This week's module is more centered around the importance of incorporating testing with our code. In our case, we automated the input of the lab we worked on last week using a google chrome driver. This helps speed up the process of checking our code returns the correct result by having the inputs be done automatically, rather than typing out the inputs manually. With proper testing, we can be more confident in our changes, and more inclined to embrace change in programs, especially when it is necessary.

Additionally, we are re-introduced to using the version control system known as git. It was nice to get a clear refresher on git, and it was interesting seeing the different ways people can manage their different versions of code. Personally, I see the strong points being the use of commits and branches. Being able to fall back on previous commits in a scenario where the head commit is not worth the investment and using branches to work on different versions of releases. Such as having a branch for the main release, but the code still being developed would be on a beta branch. In combination with GitHub, this becomes even stronger and makes it easy to develop with other developers. However, there is a bit of a trickiness with working with other developers. If two developers manage to work on the same piece of code, and both try to push their code, if any lines of code are changed on both ends, there will be a merge conflict that requires manual intervention. And while some cases may result in no merge conflicts, it doesn't guarantee the code will still be logically sound. For instance, maybe a variable is changed by one developer but not the other. However, the majority of the code is not conflicting with each other so there are no merge conflicts. So, some functions may be expecting a different variable and result in an incorrect output or an error.

Comments

Popular posts from this blog

CST 311 - Module 3

CST 338 - Module 4

CST 370 - Module 3