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

Pipes - Nkiru - Hotel #42

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

Pipes - Nkiru - Hotel #42

wants to merge 56 commits into from

Conversation

nkiruka
Copy link

@nkiruka nkiruka 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? At a certain point, I decided to eliminate my date_range class and instead create a method in the "main or superclass," that will be called in other methods as required. I decided to re-instate the date_range class and also added a room class because it was easier for me to keep track of the date objects and room objects.
Describe a concept that you gained more clarity on as you worked on this assignment. Object oriented programming
Describe a nominal test that you wrote for this assignment. Reservation class: Calculate the total cost of a reservation.
Describe an edge case test that you wrote for this assignment. Date_Range class: Check to ensure that the checkin date comes before the checkout date.
How do you feel you did in writing pseudocode first, then writing the tests and then the code? I intend to continue using pseudocode, as I found it to be extremely helpful in addition to using block flow diagrams.

@PilgrimMemoirs
Copy link

Hotel

What We're Looking For

Feature Feedback
Baseline
Used git regularly Mostly Good - great amount of commits but messages should be more specific. ex: 'edited file' was used a lot and does not give me any idea of what happened at that commit, should I need to revert to a previous version.
Answer comprehension questions Well Done
Design
Each class is responsible for a single piece of the program Mostly Good - Does room need a class if it's only storing two attributes? Is there any advantage to having it as an object instead of a data structure?
Classes are loosely coupled Well Done
Wave 1
List rooms
Reserve a room for a given date range Almost, needs attention - nice use of calling room_available in method to keep code DRY. See note below on @collection_of_rooms and method design.
List reservations for a given date Well Done
Calculate reservation price Well Done
Invalid date range produces an error Well Done
Test coverage Well Done
Wave 2
View available rooms for a given date range Well Done
Reserving a room that is not available produces an error Well Done
Test coverage
Wave 3
Create a block of rooms ❗️ Not Complete
Check if a block has rooms ❗️ Not Complete
Reserve a room from a block ❗️ Not Complete
Test coverage Well Done
Additional Feedback
if room_available(room_num,date_range) == true if this method is going to return a boolean, you do not need to compare it to a boolean. having only if room_available(room_num,date_range) will work just as well.
reserved_rooms << @collection_of_rooms[room_num - 1] This line may not be working in the way you expect, especially if you are reserving multiple rooms out of their numeric order. If I book the room number 6, this will remove the number at index 5 of the array, which will be 6. However, as soon as I remove it, all room numbers after 6 will no longer have their index only be off by one, it will be off by two. So the next room I book, say 9, will instead take number at the index 8. After removing 6, index 8 now holds room number 10.
make_reservation method && Reservation class design When a reservation is being made, it accepts a single room number to book. However, the Reservation class accepts a collections of rooms to book but it's only function,
room_available A good practice when a method is returning a boolean is the have a question mark at the end of the method name, so room_available?
I did notice some work done after the due date and wave 3 was not completed or approached. If you are having difficulty with completing a project, wether it be during the week or short before it's due, make sure to let us know.
Wave 3 All of wave 3, handling blocks, is missing.

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