Class Four Notes
Data Modeling
-
Name 3 advantages to Test Driven Development
- better program design
- quicker feedback
-
simpler code
- In what case would you need to use beforeEach() or afterEach() in a test suite?
- whenever there are instances of functions that need to be repeated for multiple tests
- What is one downside of Test Driven Development
- Tests must be constantly updated as the requirements for the code changes, slowing development down
- What’s the primary difference between ES6 Classes and Constructor/Prototype Classes?
- Syntax. ES6 shares a similar syntax with other OOP languages. ES5 is unique.
- Why REST?
- Flexibility. REST handles different types of calls and can return different data formats.
Document the following Vocabulary Terms
-
functional programming: Avoids changing state and mutable data. Given the same inputs, the outputs of a function should be exactly the same. Helps avoid bugs.
-
object-oriented programming (OOP): Kinda the opposite of functional programming. Uses objects to represent things. More intuitive method of programming but is prone to bugs.
-
class: Classes emerge only at a certain stage in the development of the productive forces and the social division of labor, when there exists a social surplus of production, which makes it possible for one class to benefit by the expropriation of another. The conflict between classes there begins, founded in the division of the social surplus, and constitutes the fundamental antagonism in all class.
-
super: used to access and call functions on an object’s parent.
-
this: the current instance of an object or function
-
Test Driven Development (TDD): A process of development that involves three stages of coding, testing, and designing/refactoring code.
-
Jest: JavaScript library for creating and running tests.
-
Continuous Integration (CI): A practice of coding where changes are integrated continuously into a shared codebase.
-
REST: REpresentational State Transfer
-
Data Model: abstract model that organizes elements of data and standardizes how they relate to one another and to the properties of real-world entities