Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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.
- Host: GitHub
- URL: https://github.com/wyvern800/roadmap-to-senior
- Owner: wyvern800
- Created: 2024-12-01T21:37:38.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2024-12-01T23:21:37.000Z (about 1 month ago)
- Last Synced: 2024-12-02T00:24:42.267Z (about 1 month ago)
- Language: TypeScript
- Size: 103 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Roadmap: roadmap.pdf
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.