Reading notes for class 4 of 401

Data Modeling

Name 3 advantages to Test Driven Development
  • Only need to write code thats necessary for the test
  • Leads to improved design qualities in code
  • Better cohesion of code
In what case would you need to use beforeEach() or afterEach() in a test suite?

Using beforeEach will setup the tests as they are listed in the describe by creating a new structure, while afterEach tears it down cleanly.

What is one downside of Test Driven Development

Tests must be maintained when requirements change.

What’s the primary difference between ES6 Classes and Constructor/Prototype Classes?

ES6 classes allow us to instantiate objects; provide a template for creating objects, while constructors focus on how the objects are instantiated.

Why REST?

Easier and more approachable than SOAP. Makes your app scalable and easily modifiable

Vocab

Functional Programming

  • Functional programming is a programming paradigm where programs are constructed by applying and composing functions.

Object-Oriented Programming

  • Object-oriented programming (OOP) is a computer programming model that organizes software design around data, or objects, rather than functions and logic.

Class

  • A template for creating objects.

super

  • Javascript keyword able to call functions on an objects parent.

this

  • Javascript keyword referring to an object it belongs to.

Test Driven Development

  • Validates code before software is fully developed.

Jest

  • JavaScript testing framework.

Continuous Integration

  • Continuous integration (CI) is the practice of automating the integration of code changes from multiple contributors into a single software project.

REST

  • Representational state transfer (REST) defines a set of constraints for how the architecture of an Internet-scale distributed hypermedia system, such as the Web, should behave.

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.