Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/wyvern800/roadmap-to-senior

What is my point in here? transition myself from a junior-midlevel for a decent mid-level engineer, to align myself to the best practices while coding.
https://github.com/wyvern800/roadmap-to-senior

Last synced: about 1 month ago
JSON representation

What is my point in here? transition myself from a junior-midlevel for a decent mid-level engineer, to align myself to the best practices while coding.

Awesome Lists containing this project

README

        

# Roadmap para Nível Médio - Sênior

Aqui está um roteiro de autoestudo que você pode seguir para abordar sistematicamente os princípios SOLID, Clean Code e Padrões de Projeto. Cada dia foca em aprendizado incremental para evitar sobrecarga.

### Meus Objetivos
Qual é o meu ponto aqui? Transicionar de um engenheiro júnior-médio para um engenheiro de nível médio decente, alinhando-me às melhores práticas do coding.

## Resumo/Checkpoint
1. [SOLID](/SOLID/README.md) - Nesta seção, estarei escrevendo/testando sobre como implementar os fundamentos SOLID em uma API TypeScript.

# Roteiro:

## Semana 1: Princípios SOLID

### Dia 1 - [Video](https://www.youtube.com/watch?v=vAV4Vy4jfkc):
- [x] Visão geral dos princípios SOLID: o que são e por que são importantes.
- [] Foco no Princípio da Responsabilidade Única (SRP).
- [] Refatorar uma classe para alinhar-se ao SRP.

### Dia 2:
- Estudar o Princípio Aberto-Fechado (OCP).
- Entender como estender a funcionalidade sem modificar o código existente.
- Refatorar ou escrever um exemplo implementando o OCP.

### Dia 3:
- Aprender o Princípio da Substituição de Liskov (LSP).
- Explorar como garantir que classes derivadas funcionem perfeitamente com suas classes base.
- Escrever um exemplo.

### Dia 4:
- Estudar o Princípio da Segregação de Interface (ISP).
- Praticar a criação de interfaces focadas.

### Dia 5:
- Entender o Princípio da Inversão de Dependência (DIP).
- Refatorar ou escrever código implementando o DIP.

### Dia 6-7:
- Revisar todos os princípios SOLID com exemplos práticos.
- Escrever ou refatorar um pequeno projeto aplicando todos os princípios.

## Semana 2: Introdução ao Código Limpo

### Dia 1:
- Ler sobre a importância do código limpo.
- Assistir a um vídeo curto ou ler um artigo resumindo "Código Limpo" de Robert C. Martin.

### Dia 2:
- Estudar convenções de nomenclatura para variáveis, funções e classes.
- Praticar a refatoração de um código bagunçado.

### Dia 3:
- Aprender sobre composição de funções: tamanho, responsabilidade única e legibilidade.
- Refatorar uma função em um dos seus projetos para torná-la mais limpa.

### Dia 4:
- Explorar o conceito de comentários: quando usar e quando evitar.
- Identificar comentários desnecessários em um projeto passado e removê-los.

### Dia 5:
- Aprender sobre "code smells" e suas soluções.
- Identificar "code smells" em um projeto antigo ou código de código aberto.

### Dia 6-7:
- Escrever um pequeno projeto ou programa focando nos princípios aprendidos até agora.
- Revisar seu código e refatorá-lo para maior clareza.

## Semana 3-4: Padrões de Projeto

### Dia 1-2:
- Aprender sobre Padrões Criacionais: Singleton, Factory e Builder.
- Implementar exemplos para cada um.

### Dia 3-4:
- Estudar Padrões Estruturais: Adapter, Decorator e Composite.
- Escrever exemplos demonstrando seu uso.

### Dia 5-6:
- Explorar Padrões Comportamentais: Strategy, Observer e Command.
- Implementar esses padrões em um mini-projeto.

### Dia 7:
- Revisar todos os padrões estudados e resumir seus casos de uso.

## Prática Contínua
- Cada semana, dedique um dia para revisar e refatorar seus projetos.
- Compartilhe seu código em plataformas como GitHub ou Reddit para feedback.
- À medida que você dominar esses conceitos, comece a integrá-los em projetos maiores.