CST 438 - Week 8
Hey everyone,
One of the most valuable things I learned in this course is the importance of testing and test-driven development. Through unit testing with tools like JUnit and Mockito, I learned how to verify that methods are called correctly and how mocks can isolate components during testing. Writing Selenium tests for React components also showed me how automated testing can catch issues that might not be obvious during manual testing. These concepts helped me understand why testing is critical for building reliable and maintainable software.
Another major takeaway from the course was learning how to build interactive user interfaces using React. Creating components that display data in tables, manage state with hooks like useState, and respond to user actions such as adding or removing items helped me understand how modern front-end applications work. This hands-on experience made concepts like state management, event handling, and component rendering much clearer.
The course also deepened my understanding of Agile development practices. Learning about concepts such as velocity, story points, and technical debt showed me how teams measure progress and make trade-offs during development. Understanding why velocity is measured in story points and how technical debt impacts long-term maintainability helped me see software development as an ongoing process rather than a one-time task.
In addition, I learned how important version control is in real-world software development. Using Git to push code to a GitHub repository showed me how developers collaborate, track changes, and recover from mistakes. Understanding branching, pushing, and pulling code helped me appreciate how version control supports teamwork and protects the integrity of a project.
Finally, the course helped me understand software architecture and system design concepts, such as low coupling in service-oriented architecture, SDLC models, and non-functional requirements. Topics like JWT authentication, performance requirements, and system response times showed me that building software involves more than just writing code—it also requires careful planning, security considerations, and system design decisions.
Until next time...
Comments
Post a Comment