Earth - Jasmine & Ana Adagrams#13
Conversation
beccaelenzil
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 | ✔️ |
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
Great work on this project! It is clear that the learning goals around manipulating data and writing methods were met. Your code is clear and clean. I've made a couple in line comments for you to review. Keep up the hard work!
| 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
Was the code particularly impressive in code style for any of these reasons (or more...?)
| Quality | Yes? |
|---|---|
| Perfect Indentation | ✅ |
| Elegant/Clever | ✅ |
| Descriptive/Readable | ✅ |
| Logical/Organized | ✅ |
| letter_array = word.upcase.split(//) | ||
| word_score = 0 | ||
| letter_array.each do |each_letter| | ||
| case each_letter |
There was a problem hiding this comment.
While this case statement works, it means that the information about which letter has which score is locked into this piece of code, and can't easily be used elsewhere. For example, if you wanted to display the value of each letter in a hand, you would need to repeat this work.
An alternative approach would be to store the letter scores in a hash, something like this:
LETTER_SCORES = {
"A" => 1
"B" => 3,
"C" => 3,
"D" => 2,
# ...
}| return finalists[0] | ||
| end | ||
|
|
||
| min_length = 10 |
There was a problem hiding this comment.
Nice work with the logic for tiebreaking. Consider breaking this out into a helper method.
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?