git checkout -b project1-ldpm-review
I worked with Josh Goldberg.
Strategy for Solving the Assignment:
I didn’t start coding right away. I first read through the UML diagrams to understand the overall structure and relationships between classes. I didn’t write anything out on paper, but I used the UML as my main guide.
My overall strategy was to approach the Monster assignment incrementally, following the UML design as the blueprint. I began by setting up the base Monster class first, implementing the fields, constructor, and simple accessor and mutator methods before moving on to more complex logic. I treated each section of the UML (fields, constructor, methods) as its own milestone and committed those changes separately to keep my work organized and traceable.
Once the base structure compiled cleanly, I focused on the core logic methods such as setPhrase, attackModifier, and calculateAttackPoints, using small commits.
After the base class, I created a new branch for the four subclasses and implemented them one by one, reusing consistent structure and Javadoc formatting for clarity. My goal was to keep the process modular; finish one logical component and documented the progress in Git.
Josh's Strategy:
My teammate’s strategy was to first read through the entire assignment and then create stubs for all of the required methods. This allowed the code to compile early, even before everything was fully implemented. From there, they wrote the logic for each method step by step and used the test cases to guide and verify their progress. They said they wouldn’t change this approach unless they also had to write the tests themselves, since the timing of adding tests depends on how clearly the project is defined in advance.
What I Would Change:
In the future, I should create stubs for all classes and methods early on so the program can run and be tested more often. That would help catch errors earlier and prevent serious debugging issues later.
Teammate's Review of My Code In Regard to Google Java Style Guide:
My code was formatted in Google Java Style, so there was nothing to improve on in regard to this area.
Most Challenging Part of Assignment:
The part I struggled with the most was translating the UML diagram into Java code. Some of the symbols were difficult to interpret, and it took time to understand what each one represented. Another major challenge was that I couldn’t fully test my code until all the subclasses were implemented, which also caused my initial pull requests on GitHub to fail. I had to trust that my superclass logic was correct until I could confirm everything with JUnit tests. Once all the subclasses were added and the program compiled, the tests verified my design, and I was finally able to complete a successful pull request. Next time, I plan to create stubs for all classes and methods early on so I can compile and run tests continuously throughout the assignment.
Most Interesing Part of Assignment:
The most interesting part of this assignment was seeing inheritance in action. Watching how the subclasses extended the Monster superclass and shared its fields and methods really made object-oriented programming click for me. It was cool to see how a single base class could define the core logic, while each subclass customized its own unique behavior.
What I'm Most Proud Of:
Since I didn’t create stubs early on, I couldn’t compile or run JUnit tests until everything was finished. I was honestly worried that once I finally ran the tests, I’d uncover a bunch of errors to debug. Thankfully, all my tests passed on the first try, which felt like a huge relief and a real victory after putting everything together step by step.
How I Celebrated Completing the Assignment:
I’m not usually one to celebrate after finishing a task. My wife often reminds me that I should take a moment to appreciate my accomplishments, and now Dr. C is saying the same thing. Normally, I just move straight on to the next assignment or goal.
Next time, I plan to celebrate with a nice sweet treat—maybe an ice cream bar—to give myself a small but meaningful reward for the hard work.
Comments
Post a Comment