Posts

Showing posts from July, 2026

Week 5 - CST 438

 One thing I learned was that although unit tests can be helpful in identifying bugs, they do not tell us whether a whole system works correctly with real dependencies, configurations and developer workflows. Larger tests are used in testing environments that are similar to real-world production, taking into account how real users might react to different scenarios. It is also important that there be clear ownership for larger tests so that support can be provided in case of test failures. Overall, larger tests provide a more realistic approach than unit tests but require more time, resources and maintenance. 

Week 4 - CST 438

 One interesting thing I learned about code review is that it is not just about finding bugs but also keeping the code consistent so that it is easy for other engineers to understand. This encourages engineers to be more careful about the work they are submitting. After all, it is a team effort. Another thing I found interesting was that changes are kept small so that they are easier to review when necessary and fixes happen quicker. It was surprising to see that only one review's approval is required since Google is such a large company. 

Week 3 - CST 438

 Git is useful in that it tracks and keeps history of all the changes that are made in files through commits. It allows developers to make changes to a project separately and safely by using copies of the main version. It allows collaboration on the same repositories using pulling and pushing to send and receive new changes and by merging changes made on different branches.  Although Git detects conflicting changes made to same lines from different commits, it does not detect modifications to other lines of code that can cause the program to stop working. I have found that when collaborating on one project, developers must agree on variable and class names so that they the merges occur seamlessly. Git does not have a minimum requirement for how big a commit may be, how frequent they are or commit messages include to better understand the changes that are being made which can lead to difficulty in understanding what is being changed. 

Week 2 - CST 438

This week we learned about React components such as useState, useEffect, useContext and Props. These components are javascript functions that help build the layout of a page. useState is important because it helps store data and update pages when the data changes. useEffect helps run code that retrieves information from the server when a page loads. useContext helps to share data between components. One of the pros of React is that components can be used in many instances which makes it easier to manage projects. It also makes it easier to implement multiple pages into a single application. A weakness I found is that small mistakes can cause webpages to no load properly. For example, a JSX file that had a variable that was undefined would cause the whole application to not load and it had to be fixed before being able to see the other parts which were coded correctly.