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

Tanja Stroble -- Hotel -- Carets #29

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

Conversation

misstonbon
Copy link

@misstonbon misstonbon commented Sep 11, 2017

Hotel

Congratulations! You're submitting your assignment!

Comprehension Questions

Question Answer
Describe a design decision you had to make when working on this project. What options were you considering? What helped you make your final decision? I went back and forth quite a lot on what the design should be , keeping in mind that every class should have single responsibility , as per POODR. Initially, I thought of making a Room class, but decided Hotel class should be better because it contains all of the rooms. I saw that every reservation and room block have a date range, so I decided to make Range a superclass. This way both the reservation and block can inherit check in and check out from Range, as well as set up methods checking validity of date ranges. The concept of how to set up blocks was clear, but . how to incorporate it into hotel wasn't clear, so I asked a tutor to work on it together. He ultimately had to cancel our meeting for personal reasons and I wasn't able to complete this portion, after struggling with it for a few hours. I am pretty sure I'll spend the week break re-writing Hotel and re-submitting. I am not satisfied at all how it turned out at the end.
Describe a concept that you gained more clarity on as you worked on this assignment. I gained more clarity on how to parse out the information relevant to task at hand, such as making sure available room array updates properly, and I learned that the Array built-in method .first(n) returns first n elements! Before this assignment I always thought I can only use first to return the first element, so this was a convenient bonus tool I am cure I'll use again. Furthermore, I learned and implemented how to set up custom Error Messages. I didn't exploit this feature too much because I was too busy with priorities, but it turned out to be pretty easy.
Describe a nominal test that you wrote for this assignment. Made sure the room cannot be booked twice by testing for two bookings for the same room and the same date range.
Describe an edge case test that you wrote for this assignment. I wrote an edge case for room booking with an invalid value. I set the value to string "garbage" instead of valid room number and it threw out an error.
How do you feel you did in writing pseudocode first, then writing the tests and then the code? I could have done more pseudo coding, and truly could have done a better job on the assignment as a whole. This is the first assignment I am not very proud of. I wrote some pseudocode where I tried to strategize how to handle not allowing the room booking to start on the day that room is being checked out of. This exposed me a bit to how dates can complicate things and are to be given an extra check to avoid bugs. I ultimately couldn't implement a solution here.

@CheezItMan
Copy link

Hotel

What We're Looking For

Feature Feedback
Baseline
Used git regularly More commits would be better. The commit messages are good.
Answer comprehension questions Check
Design
Each class is responsible for a single piece of the program Well separated roles.
Classes are loosely coupled Well done with use of inheritance.
Wave 1
List rooms Yep through the rooms attribute reader.
Reserve a room for a given date range Check, nicely done although the inline unless block is a little long for a 1-liner.
List reservations for a given date This one seems missing, I can't seem to see how to get reservations for a given date.
Calculate reservation price Check, well done
Invalid date range produces an error Nicely done. I love the Range class.
Wave 2
View available rooms for a given date range Check, well done.
Reserving a room that is not available produces an error Check, using Exceptions.
Wave 3
Create a block of rooms It looks like you got started here, but didn't finish.
Check if a block has rooms Not finished
Reserve a room from a block Not finished
Test coverage 96% Coverage, nice
Additional Feedback Very nice work on what you had in waves 1-2. You had a good design and showed real growth. I know you're beating yourself up about not finishing, but you're not alone in that. What you have done is very solid.

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