Chapter 5: Translating Design into Code Flashcards

(19 cards)

1
Q

A programming paradigm centered around the concept of objects.

A

Object-Oriented Programming (OOP)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

The bundling of data (attributes) and methods (functions) that operate on that data within a single unit, usually an object.

A

Encapsulation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Characteristics of Encapsulation

A
  • Data Hiding
  • Modularity
  • Control
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Allows one class (child or subclass) to inherit the attributes and methods of another class (parent or superclass). This promotes code reuse and establishes a hierarchical relationship between classes.

A

Inheritance

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Characteristics of Inheritance

A
  • Code Reusability
  • Hierarchical Structure
  • Extension
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Allows the same interface or method to take different forms, enabling flexibility in code behavior. It is implemented through method overriding and interfaces in object-oriented systems

A

Polymorphism

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Characteristics of Polymorphism

A
  • Dynamic Behavior
  • Extensibility
  • Single Interface, Multiple Implementations
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Types of Polymorphism

A
  1. Compile-Time Polymorphism (static)
  2. Run-Time Polymorphism (inheritance)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Best Practices for Writing Clean and Modular Code

A
  1. Write Small Functions
  2. Use Meaningful Names
  3. Avoid Deep Nesting
  4. Refactor Regularly
  5. Document Intentionally
  6. Follow the Single Responsibility Principle
  7. Test Frequently
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

The practice of tracking and managing changes to software code or other digital assets over time.

A

Version Control

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Among various version control systems, ___ has become the most widely used due to its speed, flexibility, and distributed nature.

A

Git

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Are tools that manage and track changes to files over time. They allow multiple contributors to work on the same project without overwriting each other’s work.

A

Version Control Systems (VCS)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Types of Version Control Systems

A
  1. Centralized VCS
  2. Distributed VCS
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

A single server holds the version history, and clients must connect to it to access or update files.

A

Centralized VCS

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Each contributor has a complete copy of the repository, including its history.

A

Distributed VCS

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Git: Core Concepts

A
  1. Repository
  2. Commit
  3. Branch
  4. Merge
  5. Clone, Pull, Push
17
Q

A storage location for your project files and their version history.

A

Repository (Repo)

18
Q

A snapshot of changes made to the repository.

19
Q

Key Features of GitHub

A
  1. Repository Hosting
  2. Pull Requests
  3. Issue Tracking
  4. GitHub Actions