Skip to content

Ports - Shamira#39

Open
MiraMarshall wants to merge 8 commits intoAda-C11:masterfrom
MiraMarshall:master
Open

Ports - Shamira#39
MiraMarshall wants to merge 8 commits intoAda-C11:masterfrom
MiraMarshall:master

Conversation

@MiraMarshall
Copy link

Hotel

Congratulations! You're submitting your assignment!

Comprehension Questions

Question Answer
What was a design challenge that you encountered on this project? Where to store the dates for the reservations. I also have not decided if the hotel block should be its own class or a method in the reservation class, or a subclass of reservation.
What was a design decision you made that changed over time over the project? Where I stored the method to make a hotel reservation. Also, I'm still not sure if I should have made the date its own class since it is important throughout the entire project.
What was a concept you gained clarity on, or a learning that you'd like to share? I gained more clarity on how important the design process is. I didn't realize how understanding and being confident in the design can affect the trajectory for the entire project.
What is an example of a nominal test that you wrote for this assignment? What makes it a nominal case? One of the nominal tests I wrote was checking whether my classes were initialized and stored data.
What is an example of an edge case test that you wrote for this assignment? What makes it an edge case? An edge case would be checking whether I could book a room if the dates overlapped. I consider it an edge case because I was not sure of the outcome.
How do you feel you did in writing pseudocode first, then writing the tests and then the code? I like the idea of writing pseudocode first, followed by tests and code. Writing test before I write code is something I'm still getting used to.

@CheezItMan
Copy link

Hotel

What We're Looking For

Feature Feedback
Baseline
Used git regularly Not very many commits, good commit messages
Answer comprehension questions Check, I would say an edge-case would be booking a room on the same day a previous booking ended. That way you're testing the "edge" of what's possible and what's not.
Design
Each class is responsible for a single piece of the program The classes are pretty skimpy here, but except for Reservation and room both keeping track of reservations they are responsible for one piece.
Classes are loosely coupled Check
Wave 1
List rooms
Reserve a room for a given date range Missing
List reservations for a given date Missing
Calculate reservation price Check
Invalid date range produces an error Check
Wave 2 Missing
View available rooms for a given date range
Reserving a room that is not available produces an error
Wave 3 Missing
Create a block of rooms
Check if a block has rooms
Reserve a room from a block
Test coverage 92.54% on what you do have tested
Fundamentals
Names variables, classes and modules appropriately Check
Understanding of variable scope - local vs instance Check
Can create complex logical structures utilizing variables Not enough here to judge
Appropriately uses methods to break down tasks into smaller simpler tasks Not enough here to judge
Understands the differences between class and instance methods Not enough here to judge
Appropriately uses iterators and Enumerable methods Not enough here to judge
Appropriately writes and utilizes classes Check
Appropriately utilizes modules as a namespace NOPE
Wrap Up
There is a refactors.txt file NOPE
The file provides a roadmap to future changes Missing
Additional Feedback Like we talked about this was a tough project and you didn't get very far. Please take a look at the instructor reference solution and let me know what questions you have. You also must find ways to get around being blocked like this. Find me, find Dee, or Kaida, or talk with another classmate or TA. On Hotel you didn't meet our learning goals. On the bright side, there's a lot to refactor for the Hotel Refactored assignment. Take a look at my comments and let me know what questions you have.

require_relative "reservation"
require_relative "room"

class Manager

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This class seems pretty small for a "Manager" class which coordinates the reservations etc. I would also expect that it would have a list of reservations.

if !@check_out.nil? && @check_out < @check_in
raise ArgumentError.new("Check-out date before check-in date")
end
@reservations = []

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why would a Reservation class have a list of reservations?

def book_reservation(vacant_room, check_in, check_out)
end

def total_cost

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

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