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

Theresa's RideShare #16

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

Conversation

TheresaManney
Copy link

Ride Share

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? A design decision I made was if I should think about edge cases as I create my tests and code or if edge cases should be something I would worry about later. I chose to worry about edge cases later after getting stressed about not being able to finish the project. Even though this was my final decision, in future projects I think at least placing comments of edge case thoughts is a better idea so I don't forget what goals should be focused on at some point.
Describe a concept that you gained more clarity on as you worked on this assignment. Using enumerals became more obvious to me, although I did not use enumerals all through my code.. I tried to use them where they made best sense to me. Also using :headers in my code and learning how to utilize those commands was a huge learning experience for me.
Describe a nominal test that you wrote for this assignment. In my drivers specs I checked that exact driver info was gathered when a specific driver_id was searched for in the .find method
Describe an edge case test that you wrote for this assignment. In the drivers class, .find class method, I made my program raise an argument error if the id was not within the csv file.
How do you feel you did in writing pseudocode first, then writing the tests and then the code? I feel I wrote pseudocode well, it definitely helped me organize my thoughts. I'll have to admit, it was very challenging for me to write tests before writing my code. I think writing my psudo code in test type blocks, would help me write tests first (if that makes sense...)

…figure out let which is not working in driver spec, some code created in driver.rb. Time to organize thoughts..
…, working on tests for .all and .find for both the trip and the rider classes
… classes .all and .find class methods. Now on to getting everyone to talk to eachother.
…thanks to Brenna shinning some light on my code. yay(explanation point)
…things are now working much better with only 2 failures happening when the files are raked. Very greatful for the Adie in Queues who posted an article of a blogger who explaied how to handle csv headers AND convert strings and integers in the csv files appropriatly YAY.....WIP
…rage, started working on code to create list of drivers out of the list of a trips that a spacific rider has taken
…instances of a spacific rider and can match those instances with a driver. For now I can see that it returns an Array. Next up, creating more tests for Rider#driver along with edge cases.
…here to my knowledge, could use a couple more edge tests for rider.rb. Still a WIP but mostly done yay.
@kariabancroft
Copy link

Ride Share

What We're Looking For

Feature Feedback
Baseline
Used Git Regularly Yes - though I think you could use it even more often. Some of your commits include a lot of code changes
Answer comprehension questions Yes - I like your idea of writing the pseudocode in the tests, that sounds like a good idea
Driver
Uses the all method in the find method Yes - slick use of the header settings on the CSV reading!
Has appropriate edge-case tests for each method in the class Almost - opportunity to expand the tests for the trips and average_rating since right now they're covering the basic nominal
Created a method that uses a method from the Trip object to retrieve the list of trips Yes - note that the classes that are within the module should be able to be referenced without the full module name? Did you try this and have issues leaving the module off?
Created a method that uses the internal trips list to calculate the average rating Yes - nice use of map and inject enumerable methods here
Rider
Uses the all method in the find method Yes - find method would be a good opportunity to try out an enumerable method (I know you mentioned this in your comprehension questions)
Has appropriate edge-case tests for each method in the class Not quite - I think because of the way you've written your tests, you haven't caught some of the issues with your code. Checking that the elements are an Array is a good baseline test, but without checking the contents of that Array you are missing an opportunity to fix a problem.
Created a method that uses a method from the Trip object to retrieve the list of trips Yes - though I would name this method plural instead of singular since it should return a list
Created a method that uses the internal trips method to retrieve the associated drivers Yes - though I'm not sure this is actually working correctly. If you call find_many_drivers from the Trip class, I would think that this would give you back Trip objects, not Driver objects. Therefore, I don't think this is the data you expect/desire.
Trip
Reads the CSV file in the all method Yes
Has appropriate edge-case tests for each method in the class Mostly there - Nice job trying out let. I'd like to see what would happen the with driver and rider methods if there was any issue with the original data (i.e. these objects didn't exist)
Created a method that uses a method from the Driver to retrieve the associated driver instance Yes
Created a method that uses a method from the Rider to retrieve the associated rider instance Yes - nice job using the associated find methods using the instance variable parameters
Created a method to retrieve all trips by driver id Yes
Created a method to retrieve all trips by rider id Yes - I'd argue that not finding any drivers or riders is not an argument error. It might be some other kind of issue, but not an argument error. This is another good opportunity to try out an enumerable method.
Overall I like that I see a require pry in there since its a great tool to use! :-D I think you missed the mark on the trip and driver methods in the Rider class - so it might be worth another look at these two (plus the associated tests).

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