CST 338 - Week 3 - Who Reviews the Reviewers?

How fun to do some code review. I often tell early career engineers that as you progress in your career you will tend to read more code than write it, as architectural reviews, design docs and pull request reviews become a major part of a Software Engineer's day.

I reviewed all three of my team members code. Overall it was a good exercise, and especially interesting to see how each of them approached the problem in a different way.

What improvements would you make to your code/what was suggested? 

Definitely some good learnings in looking at other group members code. Just from observation, I think I would likely add a little more thorough explanation in my JavaDoc comments. One of my group members really added a lot of detail there and I could see how helpful that would be looking at the code months from now.

As far as critical feedback to my code, I agree with all of it.

  • Adding Javadoc comments for all methods
  • Use a StringBuilder to increase the efficiency of my makeGuess() function
    • This was interesting to me, since I wasn't familiar with StringBuilder as a primitive in Java

Which unit tests were the hardest to pass?

Getting the makeGuess test to pass was definitely challenging. It's the bulk of the code logic we wrote and having to catch the edge case of already checked letters is not the most intuitive.

How do the existing tests function and could they be improved?

Add tests around getScore(). This is only checked at the very end of a game. It would be good to test how it increments over time.

Test for edge case (same letter guess repeatedly).

Those two improvements above would be how I would improve the overall unit tests on the project.

What did you struggle with?

Mostly language Syntax. I haven't written a ton of Java, so some of the language is unknown to me (like StringBuilder) and doesn't come up immediately. This is something that should change the more I write though!

What did one of your teammates struggle with?

I definitely noticed one of my teammates did not add a lot of comments to their code, which actually made them miss some of functionality. I felt like using the Google Doc Prompt -- and translating that into code comments helped me make sure I was hitting all base requirements.

Was any part of the code a struggle for YOU?

Not too much. IntelliJ also makes it really easy to correct issues automatically. It almost feels like a crutch being able to change types at the click of a button or typecast if you need to.

Was any part of writing the code easy for YOU?

Having a clearly defined UML makes the requirement very clean and in that sense it is easy. You have a very clear requirement for each function which makes the logical process simple.

What was your biggest HW1 victory?

Coming up with something clean that my group partners also thought was clean. Especially as I am no Java pro.

Comments

Popular posts from this blog

CST 300 - Week 2 - More than just a draft

CST 300 - Week 5 - Capstone and More

CST 300 - Week 4 - Writing With Purpose