Skip to content

Conversation

@J-C-L
Copy link

@J-C-L J-C-L commented Mar 4, 2017

Scrabble

Congratulations! You're submitting your assignment.

Comprehension Questions

Feature Feedback
How do you feel you and your partner did in sharing responsibilities? We were great about swapping out approx. every 45 minutes (the chunk of time that worked well for us). We are both great drivers. We could work on giving the driver more space to come up with code.
Why do you think we chose to make the score method in the Scoring class a class method instead of an instance method? Because the method score also gets called in the Player class, and no new instance of score is needed or created.
Describe an example of a test you wrote for a nominal case. In scoring_spec.rb, a nominal case test was for the highest score from method (lines 71-74). It's a nominal case because all the words have unique lengths and scores.
Describe an example of a test you wrote for an edge case. In scoring_spec.rb, an edge case test for the highest_score_from method (lines 81-84). It's an edge case because there are two words with the same score so the program has to address more details and we need to check for a wrong answer to slip in.
What was your final test coverage percentage? It was 100% for all of the requirements for the 3 Waves. Because we were running out of time, we didn't complete all the tests for the optional enhancement: Scrabble::Board.
Is there a specific piece of code you'd like feedback on? Interested to know if you think the check_playable and play methods in board.rb could be DRYer.

edeutschie and others added 26 commits February 27, 2017 16:18
@droberts-sea
Copy link

Scrabble

What We're Looking For

Feature Feedback
General
Answered comprehension questions yes
Both Teammates contributed to the codebase yes
Regular Commits with meaningful commit messages yes
Scoring class
score method yes
Uses appropriate data structure to store the letter score yes - excellent work, making the right decision here makes the entire rest of this wave easier
Appropriately handles edge cases yes
Tests score edge cases (one-letter word, 7 letter word) 7-letter yes, 1-letter no. Would like to see more testing for failure cases (empty word, longer than 7 letters, etc.)
highest_scoring_word method yes
Appropriately handles edge cases yes
Tests highest_scoring_word edge cases (ties, no words, no array) yes
Player class
Uses an array to keep track of words played yes
Uses existing code to create highest_scoring_word and highest_word_score yes
Returns true or false from won? method yes
Tests edge cases on the play(word) method for words that cannot be scored nominal cases look good, but would like to see more testing around failure cases
TileBag class
Uses a data structure to keep the set of default tiles in the bag yes
draw_tiles method uses the parameter to draw a set of random tiles yes
tiles_remaining method returns a count yes
Tests draw_tiles edge cases for different parameter inputs yes - good work testing failure cases!

Great work overall! Code is very clean and readable, git habits look good. You're missing some tests for how your methods behave when you feed them bad input, but otherwise I'm quite impressed.



def play(word)
return false if won?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Watch your indentation here - you go from 2-space to 4-space tabs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants