Skip to content

Conversation

@Allison-Northrop
Copy link

Bank Account

Congratulations! You're submitting your assignment.

Comprehension Questions

Question Answer
Why is it useful to put classes inside modules? What do you think? So that if there are other classes named "account" in different areas of the program, the code won't clash.
What is accomplished with raise ArgumentError? What do you think it's doing? If there are particular requirements for user input, it doesn't allow the user to input anything outside of those requirements. It also returns the unaffected variable, such as balance.
Why do you think we made the .all & .find methods class methods? Why not instance methods? So that they can be applied across all classes within the program.
Why does it make sense to use inheritance for the different types of accounts? To keep code DRY and not repeat code that has already been written.
Did the presence of automated tests change the way you thought about the problem? How? Yes and no. To be honest it made things 10 times harder because I kept having errors in my tests as opposed to my actual code. The good thing about testing is it allows you to break things apart and think about code in single functionalities. I ended up not finishing the tests but plan on going back and completing when I understand it better.

@PilgrimMemoirs
Copy link

Bank Account

What We're Looking For

Feature Feedback
Wave 1
All provided tests pass Well Done
Using the appropriate attr_ for instance variables Well Done
Wave 2
All stubbed tests are implemented fully and pass Some of the it blocks are testing many things, generally it's good to have one minitest matcher per it block, that way it's easier to target what is exactly failing. Otherwise looks good.
Created instances (by calling new) in Account.all Well Done
Used CSV library only in Account.all (not in Account.find) Well Done
Used Account.all to get account list in Account.find Well Done
Wave 3
All stubbed tests are implemented fully and pass Had error running them, Looks like some aren't passing as well.
Used inheritance in the initialize for both Checking and Savings Accounts (min balance) Well Done
Used inheritance for the withdraw in checking and savings accounts Withdraw methods are writing over the super instead of utilizing some of it's functionality. How could you use some of Account's functionality in it's child classes? (hint: the keyword super is very helpful to prevent rewriting the same code)
Baseline
Used Git Regularly Should commit more often. With every new thing added, changed or removed, commit! message should be specific to what that one thing was that was added, changed or removed.
Answer comprehension questions Looks good.
Extras Areas to focus on: Testing and utilizing inheritance within methods (like with withdraw). The big thing with the test was there there was a missing end. I have a hunch that you'll feel more comfortable running rake when you can identify what is actually causing the error. Always feel free to ask us to take a look over what could be causing the problem, a second set of eyes is always helpful for identifying the problem so that you don't get stuck for too long! Otherwise everything else looks good and on track.

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