Week 4:CST 338 Software Design: Learning Journal Project 1 review

 This week we have to review our team's code for the Project 1: Legally Distinct Pocket Monster. 

  • With whom did you work? 

        I worked with my Team members Edward Luna-Ortez and Manuel Caro. 

  • What was your strategy for solving the assignments?
My strategy was to first read and understand the project specifications before writing any code. I started with the easier parts; basic fields, simple getters and setters, constructors, and small helper methods. Once those were working, I moved on to the more complex logic such as elemental interactions, attack calculations, defense behavior, and toString formatting. I built the project in small steps, running tests frequently so I could catch mistakes early. I also used Git branches to isolate major changes and keep the history organized.

        Did you start writing code right away? Did you plan it out on paper?

I did some planning before coding; mainly identifying which fields all monsters needed, what methods would be overridden, and how the classes should connect. I didn’t create a full design document, but I had notes and an outline that guided my incremental implementation.

  • What was THEIR strategy for solving the assignments?
Edward jumped directly into coding without much planning, following the project prompt step by step as he wrote. He later realized that this made some parts more difficult, and that outlining a strategy beforehand might have prevented certain issues. Manuel followed a more structured approach. He reviewed the UML diagram and project document first, then built the Monster class and tested it before creating each subclass on its own branch. This allowed him to focus on one component at a time without breaking the main code. Together, their approaches showed two different styles: one more spontaneous and one more planned.
  • How would you change your strategy after working on this assignment?
After completing this assignment, I would spend more time planning before writing code. Instead of starting implementation as soon as I understood the requirements, I would outline the responsibilities of each class and how the methods connect. Starting with the easier parts worked well for me, so I would keep that approach, but with a clearer plan for handling the more complex logic. Overall, I would take a more organized and structured approach from the beginning to make development smoother and more efficient.
  • According to your classmates, how well does your code follow the Google Java Style Guide?
According to my classmates, my code follows the Google Java Style Guide very well. Edward said that my code is clean, organized, readable, and intentionally written. Manuel commented that my JavaDoc is clear and easy to understand, and that most methods are documented well. He suggested being more explicit when a method changes a monster’s state or prints to the console, but overall both agreed that my code is polished and consistent with the style guidelines.
  • What was the most challenging part?

The most challenging part was implementing the attack and defense logic correctly, especially the elemental strengths and weaknesses. Making sure HP updates, interactions, and fainting behavior worked exactly as expected required careful testing.

  • What was the most interesting part?

I enjoyed designing the class hierarchy and seeing how each subclass inherited behavior from Monster while still having its own unique identity. Watching the unit tests run felt like seeing a mini battle simulation.
  • What are you the most proud of?
I am proud of how smoothly the assignment came together. All the unit tests passed, which gave me confidence in my logic and structure. I also maintained a clean Git workflow with separate branches, organized commits, and clear pull requests. I improved my code after feedback instead of stopping at the first working version, which made the final solution more readable and maintainable.
  • How did you celebrate completing the assignment?
After finishing the assignment and submitting it, I took a short break to relax and unwind. I stepped away for a bit, rested, and gave myself a moment to enjoy being done. After that, I continued on with my other coursework and tasks. It was a simple way to reset before moving forward.

Comments

Popular posts from this blog

Industry Expert Interview – Exploring Career Paths and Industry Trends

Week 4 - My CSUMB Journey