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

Queues - Andrea Valliere - Bank Account #24

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

Conversation

avalliere
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? Modules create a shared "namespace" for related classes and prevent naming collisions. We might want to give two related classes the same name but we'll be prevented from creating this problematic situation if they're both in the same namespace, which won't allow two classes of the same name.
What is accomplished with raise ArgumentError? What do you think it's doing? 'raise ArgumentError' is stopping a method with an invalid argument from running. We can use 'raise ArgumentError' to prevent functionality which we don't want to allow. We are also asking an error to be thrown whenever a method is running with an invalid argument, which is very useful to observe in testing.
Why do you think we made the .all & .find methods class methods? Why not instance methods? These methods are ones that needed to have the ability to be called on the class and each of its instances, rather than just one instance of the class at a time.
Why does it make sense to use inheritance for the different types of accounts? Each of the types of accounts in this program had a lot of shared functionality. It made much more sense to give the SavingsAccount and CheckingAccount child classes the ability to inherit from the Account parent class. The additional and updated methods given to the child classes are also much clearer to read; the differences between the 3 classes are easier to discern.
Did the presence of automated tests change the way you thought about the problem? How? The tests made my coding process far more systematic and ordered. My experimentation has a more structured approach with the tests and it is much clearer to me with this approach if what I am programming is working (or isn't working) in the way I think it is.

@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 There's an attr_reader for interest, but no interest instance variable being used in savings account. Otherwise, looks good
Wave 2
All stubbed tests are implemented fully and pass Well Done
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 Well Done
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 Well Done
Baseline
Used Git Regularly Commit more often, with every new thing (like a method) added, changed or removed. Message should be specific to what one thing was added, changed or removed.
Answer comprehension questions Well Done
Extras Everything looks good and on track with expectations. Just focus on committing changes more often :)

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