Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Leaves - Mariya #31

Open
wants to merge 7 commits into
base: master
Choose a base branch
from
Open

Leaves - Mariya #31

wants to merge 7 commits into from

Conversation

M-Burr
Copy link

@M-Burr M-Burr commented Sep 9, 2019

Hotel

Congratulations! You're submitting your assignment!

Comprehension Questions

Question Answer
What was a design challenge that you encountered on this project? I struggled a lot with just mentally organizing all the information before I could even think about the design. Once I had more mental clarity of the steps involved, it was very difficult for me to decide how/which classes I wanted to interact & also limited their dependencies on each other.
What was a design decision you made that changed over time over the project? I originally had a rooms class which I later decided to remove.
What was a concept you gained clarity on, or a learning that you'd like to share? I became a lot more familiar with pry, & class methods vs. instance methods.
What is an example of a nominal test that you wrote for this assignment? What makes it a nominal case? I wrote a nominal test inside the reservation_test file that confirms the cost of the reservation. This is a nominal case because this would be an expected behavior and not an unusual circumstance.
What is an example of an edge case test that you wrote for this assignment? What makes it an edge case? I wrote an edge test in my hotel_test that confirms that a reservation is able to be made if the start date of the new reservation were the same as the checkout date of the existing reservation. This is an edge case b/c it is an unusual/unexpected scheduling request.
How do you feel you did in writing pseudocode first, then writing the tests and then the code? I felt so much better after taking this approach in my projects. Writing pseudocode and writing tests helps me "clean up" my mental confusion & forces me to be more methodical in my approach.

…esponding tests. check_availability method inside hotel is still incomplete.
…ding files and tests. Updated DateRange such that it includes a dates inside a range (vs. a date range inside an array)
@beccaelenzil
Copy link

Hotel

What We're Looking For

Test Inspection

Workflow yes / yes but no test / no
Wave 1
List rooms yes
Reserve a room for a given date range yes
Reserve a room (edge case) yes -- but no test, see comment
List reservations for a given date yes
Calculate reservation price yes
Invalid date range produces an error yes
Test coverage 100% - Make sure to add your coverage folder to .gitignore
Wave 2
View available rooms for a given date range yes
Reserving a room that is not available produces an error yes
Test coverage 100% !
Wave 3 N/A
Create a block of rooms N/A
Check if a block has rooms N/A
Reserve a room from a block N/A
Test coverage N/A

Code Review

Baseline Feedback
Used git regularly Increase the frequency of your git commits especially for a big project like this.
Answer comprehension questions yes
Design
Each class is responsible for a single piece of the program yes
Classes are loosely coupled yes
Fundamentals
Names variables, classes and modules appropriately yes, except for your module and class both named hotel
Understanding of variable scope - local vs instance yes
Can create complex logical structures utilizing variables yes
Appropriately uses methods to break down tasks into smaller simpler tasks yes
Understands the differences between class and instance methods yes
Appropriately uses iterators and Enumerable methods yes
Appropriately writes and utilizes classes yes
Appropriately utilizes modules as a namespace yes
Wrap Up
There is a refactors.txt file yes
The file provides a roadmap to future changes yes

Overall Feedback

Great work overall! You've built your first project with minimal starting code. This represents an incredible milestone in your journey, and you should be proud of yourself!

I am particularly impressed by the way that you designed your program. You did a great job encapsulating functionality in methods. Furthermore, your code is concise and readable, and your use of comments is great

I do see some room for improvement around the robustness of your tests. Your tests are a bit lean. Try to think of all possible edge cases with both positive and negative results and test for these. Furthermore, make sure the state you are testing for the nominal cases isn't unusually (A hotel with a single room could perhaps behave differently than a 20 room hotel). It shouldn't, but you should test a 20 room hotel to make sure your methods are robust.

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.

2 participants