Data Modeling
Name 3 advantages to Test Driven Development
- Writing the tests first requires you to really consider what do you want from the code.
- You receive fast feedback.
- TDD creates a detailed specification.
- TDD reduces time spent on rework.
- You spend less time in the debugger.
In what case would you need to use beforeEach() or afterEach() in a test suite?
- removes the explicit calls from the tests themselves.
- invites inexperienced users to share state between tests.
What is one downside of Test Driven Development
TDD is that the tests need to be maintained because the code has got to. Whenever requirements change, you would like to vary the code and tests.And when writing code that apparently takes an extended time.
What’s the primary difference between ES6 Classes and Constructor/Prototype Classes?
- ES6 class constructors creates objects by adding function to their prototypes
Blueprint.
- Constructor/Prototype Classes are function constructors also create objects along with inheritance property.
Why REST?
- REST is Easy to Understand and Implement
- REST Makes your Application More Scalable:
- No State
- Faster Data Interchange Format
- Caching is Easier with REST
- REST is Flexibile
Document the following Vocabulary Terms
- functional programming: Functional Programming is a programming paradigm where you mostly construct and structure your code using functions.
- object-oriented programming
OOP: is a computer programming model that organizes software design around data, or objects, rather than functions and logic.
- class: is a template for creating objects. They encapsulate data with code to work on that data. Classes in JS are built on prototypes.
- super: The
super keyword is used to access and call functions on an object’s parent.
- this: The JavaScript
this keyword refers to the object it belongs to.
- Test Driven Development
TDD: is to simply start working on code by writing automated tests BEFORE writing the code that is being tested.
- Jest: is an open-source testing framework built on JavaScript, designed majorly to work with React and React Native based web applications.
- Continuous Integration
CI: is a development practice that requires developers to integrate code into a shared repository several times a day. Each check-in is then verified by an automated build, allowing teams to detect problems early.
- REST:
REpresentational State Transfer (REST) is an architectural style that handles the client-server relationship, with the purpose of aiming for speed and performance by using re-usable components.
-
Data Model: an abstract model that organizes elements of data and standardizes how they relate to one another and to the properties of real-world entities
References:
@By DZone/Benefits of Test-Driven Development
@By Eric Elliott/What’s the difference between beforeEach/afterEach and setup/teardown?
@By GeeksforGeeks/Advantages and disadvantages of Test Driven Development (TDD)
@By Yiğit Kemal Erinç/The Benefits of Going RESTful