There are so many words out there. Here a few of I think you should know.
Not to be confused with cash, cache is a copy of something, usually for the purpose of improving performance. For example, instead of adding up the cost of each line item on an invoice every time we look up the total, we do it once, and then save a copy of that result in a cache.
This can be a huge source of performance improvement, but also leads to bugs if you are not careful. For example, if you forget to clear the total when adding an additional line item, you will not get the outcome you expect!
A polymorphic relationship in Rails lets a model belong to more than one other model using a single association.
For example, a Note
can belong to either a Post
, an Account
, or any other model, all through the same noteable
interface.
A test suite is an automated tool the helps ensure your application runs as specified. This is a huge benefit as the computer is able to automatically run hundreds or thousands of test in minutes as opposed to just a handful that a human could manually complete.
Please note, this tests for the specification, not necessarily correctness. A poorly written test suite that declares 2+2=5
will pass or fail based on the specification, not based on the rules of math. This is why a good test suite is critical for the confidence of your system.