Visão Geral
Este curso ensina como aplicar Clean Code e Clean Architecture no desenvolvimento front-end com React, criando aplicações mais organizadas, escaláveis, fáceis de manter e profissionais. Você aprenderá padrões de escrita, princípios de arquitetura limpa, separação de responsabilidades, modularização e organização avançada de projetos.
Conteúdo Programatico
Module 1 – Clean Code Foundations
- What Clean Code means in front-end
- Principles: readability, simplicity, consistency
- Naming conventions for React projects
- Avoiding code smells in components and hooks
Module 2 – Clean Architecture Principles
- What Clean Architecture looks like in React
- The four main layers adapted to front-end
- Dependency rule and separation of concerns
- Domain-driven thinking applied to UI
Module 3 – Project Structure & Organization
- Folder-by-feature vs folder-by-layer
- UI, domain and data boundaries
- Creating a scalable and predictable file system
- Strict imports and directional architecture
Module 4 – Clean Components
- Component responsibilities
- Splitting large components
- Avoiding unnecessary complexity
- Rendering logic vs business logic separation
- Guidelines for reusable and pure components
Module 5 – Clean Hooks & Reusable Logic
- Custom hooks architecture
- Naming and boundary rules
- Isolating side effects
- Replacing imperative code with declarative patterns
Module 6 – Data Layer & API Abstraction
- Service layer principles
- API adapters and data mapping
- Handling loading, error and empty states cleanly
- Centralizing external dependencies
Module 7 – State Architecture & Ownership
- Clean state management strategies
- Local vs global vs server state
- Avoiding overuse of context
- Reducing shared mutable state
Module 8 – UI Layer Patterns
- UI primitives and composition
- Styling strategies: CSS-in-JS, utility-first, component libraries
- Design tokens and consistency
- Accessibility as a quality rule
Module 9 – Testing for Clean Architecture
- Testing components vs domain logic
- How architecture impacts testability
- Unit tests for services, hooks and utilities
- Integration tests for UI flows
Module 10 – Refactoring Techniques
- Step-by-step refactor patterns
- Eliminating duplication
- Extracting functions, hooks and components
- Introducing new architecture without breaking everything
Module 11 – Final Project
- Refactoring a messy React application applying:
- Clean Code
- Clean Architecture layers
- Domain-centric logic
- API abstraction
- Organized components and hooks
- Documenting decisions and improvements