Conceitos de Programação

Conceitos fundamentais que todo desenvolvedor deve conhecer.

Paradigmas

Programação Orientada a Objetos (POO)

  • Encapsulamento
  • Herança
  • Polimorfismo
  • Abstração

Programação Funcional

  • Funções puras
  • Imutabilidade
  • Higher-order functions
  • Composição

Estruturas de Dados

Para aprofundar nesses conceitos:

Principais estruturas:

  • Arrays
  • Listas Encadeadas
  • Pilhas e Filas
  • Árvores
  • Grafos
  • Hash Tables

Algoritmos

Estudo aprofundado: Entendendo Algoritmos

Tópicos importantes:

  • Ordenação (Bubble Sort, Quick Sort, Merge Sort)
  • Busca (Linear, Binária)
  • Algoritmos de Grafo (DFS, BFS, Dijkstra)
  • Recursão - Técnica fundamental para algoritmos
  • Complexidade de Algoritmos - Análise de desempenho
  • Big O Notation - Notação para expressar complexidade

Design Patterns

  • Singleton
  • Factory
  • Observer
  • Strategy
  • Decorator

Clean Code

“Código limpo sempre parece ter sido escrito por alguém que se importa.” - Robert C. Martin

Princípios:

  • DRY (Don’t Repeat Yourself)
  • KISS (Keep It Simple, Stupid)
  • SOLID
  • YAGNI (You Aren’t Gonna Need It)

Relacionados