Taylor & Kal's Adagram#24
Open
kashenafi wants to merge 2 commits into
Open
Conversation
dHelmgren
reviewed
Sep 28, 2020
dHelmgren
left a comment
There was a problem hiding this comment.
Adagrams
Major Learning Goals/Code Review
| Criteria | yes/no, and optionally any details/lines of code to reference |
|---|---|
| Correctly creates and calls methods with proper syntax (parameters, return statements, etc.) | ✔️ |
| Uses correct syntax for conditional logic and iteration | ✔️ |
| Practices git with at least 3 small commits and meaningful commit messages | (only 2) |
Utilizes unit tests to verify code; tests can run using the command $ rake and we see test successes and/or failures |
✔️ |
| Practices pair programming; the reflection question on pair programming is answered | ✔️ |
Functional Requirements
| Functional Requirement | yes/no |
|---|---|
For the draw_letters method, there is an appropriate data structure to store the letter distribution. (You are more likely to draw an 'E' than an 'X'.) |
✔️ |
Utilizes unit tests to verify code; all tests for draw_letters and uses_available_letters? pass |
✔️ |
Utilizes unit tests to verify code; all tests for score_word pass |
✔️ |
Utilizes unit tests to verify code; all tests for highest_score_from pass |
✔️ |
Overall Feedback
| Overall Feedback | Criteria | yes/no |
|---|---|---|
| Green (Meets/Exceeds Standards) | 4+ in Code Review && 3+ in Functional Requirements | ✔️ |
| Yellow (Approaches Standards) | 3+ in Code Review && 2+ in Functional Requirements | |
| Red (Not at Standard) | 0-2 in Code Review or 0,1 in Functional Reqs, or assignment is breaking/doesn’t run with less than 5 minutes of debugging |
Code Style Bonus Awards
| Quality | Yes? |
|---|---|
| Elegant/Clever | ✅ |
| Logical/Organized | ✅ |
Comment on lines
+5
to
+13
| letters = ('A'..'Z').to_a | ||
| tally = [9,2,2,4,12,2,3,2,9,1,1,4,2,6,8,2,1,6,4,6,4,2,2,1,2,1] | ||
| zipped = Hash[letters.map.zip(tally)] | ||
|
|
||
| available_letters = zipped.each_with_object([]) do |(letter, amount), array| | ||
| array << (letter * amount).split("") | ||
| end | ||
|
|
||
| available_letters.flatten! #array that holds each letter times the paired value |
There was a problem hiding this comment.
you can do this with a little less effort and a little more legibly by putting all the letters in a hash like so...
hash = {
'a':9,
'b':2,
'c':2,
#... etc
}And then pushing the letter into an array the number of times indicated by the hash. That way, if your boss asks you to put in 8 m's instead of whatever is in there now, it's easier to change!
Comment on lines
+49
to
+65
| when "Q", "Z" | ||
| sum += 10 | ||
| when "D", "G" | ||
| sum += 2 | ||
| when "B", "C", "M", "P" | ||
| sum += 3 | ||
| when "F", "H", "V", "W", "Y" | ||
| sum += 4 | ||
| when "K" | ||
| sum += 5 | ||
| when "J", "X" | ||
| sum += 8 | ||
| else #"A", "E", "I", "O", "U", "L", "N", "R", "S", "T" | ||
| sum += 1 | ||
| end | ||
| # i += 1 | ||
| end |
There was a problem hiding this comment.
putting a hash here is helpful too, because it lets you change the score value of the letter more reliably!
Comment on lines
+104
to
+120
| print "How many hands would you like to draw? => " | ||
| number_of_hands = gets.chomp.to_i | ||
|
|
||
| all_hands = [] | ||
|
|
||
| number_of_hands.times do | ||
|
|
||
| p draw_letters | ||
|
|
||
| puts "Word?" | ||
| word = gets.chomp | ||
|
|
||
| all_hands << word | ||
| end | ||
|
|
||
| puts highest_score_from(all_hands) | ||
|
|
There was a problem hiding this comment.
when you make a file like this that doesn't have driver code, it's good to remove any testing tools before you submit the final product. ;)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Assignment Submission: Adagrams
Congratulations! You're submitting your assignment. Please reflect on the assignment with these questions.
Reflection
Enumerablemixin? If so, where and why was it helpful?