What is abstraction?:
- hiding away the implementation details
- read more at http://en.wikipedia.org/wiki/Abstraction_(computer_science) (only the first paragraph is enough)
Why is abstraction important?:
- it gets programming out of the way so you can focus on the problem you want to solve
- it makes code more maintainable and extensible (e.g. easier to read, update, and debug)
- some reading the code later can focus on "what" the code is doing
- when they've found the area of the code they want to focus on then they can dig deeper and focus "how" the code is working
How to abstract?:
- there's no exact science
- there are some guidelines
- abstraction really is about writing high quality code, which is hard to measure, quantify, or deem to be right or wrong
- sometimes it could be personal preference
- it is possible to keep on abstracting and making code more readable indefinitely, but sometimes you just need to choose a point to stop
- I just want to introduce you to the concept so you're aware of it