31h

Para conclusão

3
Cursos
2
Artigos

Mergulhe em boas práticas com Java

Boas-vindas à nossa emocionante formação em Java! Se prepare para desvendar os segredos do desenvolvimento de software de qualidade, pois nesta formação, mergulharemos fundo em conceitos cruciais que transformarão a sua abordagem à programação.

Imagine criar código que seja não apenas funcional, mas também elegante. Dominar os princípios do SOLID - aquele alicerce que sustenta sistemas flexíveis e escaláveis. Entender como os Design Patterns podem ser suas armas secretas para resolver problemas complexos com soluções inteligentes e comprovadas.

Mas não paramos por aí. Escrever testes pode parecer apenas uma formalidade, mas é a armadura que protege o seu código de possíveis erros e regressões, garantindo que cada linha funcione como esperado. E vamos desvendar os mistérios do código limpo, porque a legibilidade importa. Código limpo não é apenas sobre estética, é sobre colaboração eficaz e manutenção simplificada.

E quando chegar a hora de fazer ajustes? A refatoração é a sua aliada. Aprenda a revitalizar o seu código sem alterar sua funcionalidade, tornando-o mais eficiente, compreensível e evolutivo.

Então, por que fazer esta formação? Porque a jornada de devs é trilhada mais facilmente quando se tem as ferramentas certas. Esta formação não é apenas sobre aprender uma linguagem, mas sim sobre elevar a sua maestria na arte da programação. Prepare-se para criar software que não só funcione, mas que também seja digno de admiração. Vamos embarcar nessa jornada juntos!

O que você vai aprender nesta formação?

SOLID: é um acrônimo que representa cinco princípios de design de software orientado a objetos que visam criar sistemas mais flexíveis, extensíveis e fáceis de manter. Cada letra corresponde a um princípio específico:

  • S (Single Responsibility Principle - Princípio da Responsabilidade Única): Cada classe deve ter uma única razão para mudar, ou seja, deve ter uma única responsabilidade.
  • O (Open/Closed Principle - Princípio Aberto/Fechado): As entidades de software (classes, módulos, etc.) devem ser abertas para extensão, mas fechadas para modificação. Isso promove a adição de novas funcionalidades sem alterar o código existente.
  • L (Liskov Substitution Principle - Princípio da Substituição de Liskov): As instâncias de uma classe derivada devem ser substituíveis pelas instâncias da classe base sem afetar a integridade do sistema.
  • I (Interface Segregation Principle - Princípio da Segregação de Interfaces): Clientes não devem ser forçados a depender de interfaces que eles não usam. Em outras palavras, as interfaces devem ser específicas para as necessidades dos clientes.
  • D (Dependency Inversion Principle - Princípio da Inversão de Dependência): Módulos de alto nível não devem depender de módulos de baixo nível. Ambos devem depender de abstrações. Além disso, abstrações não devem depender de detalhes, mas detalhes devem depender de abstrações.

Resumindo, SOLID promove a modularidade e facilita a manutenção do código. Ajuda a evitar acoplamento excessivo e torna os sistemas mais flexíveis para mudanças.

Design Patterns: são soluções reutilizáveis para problemas comuns de design de software. São abordagens e estruturas que foram testadas e documentadas para resolver desafios específicos de programação. Esses padrões ajudam a melhorar a organização do código, a modularidade e a manutenibilidade do sistema.

Refatoração:

A refatoração envolve a reestruturação do código-fonte existente para melhorar sua legibilidade, manutenibilidade e eficiência, sem alterar o comportamento externo do software. É um processo contínuo que visa eliminar a duplicação, melhorar a estrutura do código e aplicar os princípios de design para criar um código mais limpo e compreensível.

Código Limpo: refere-se a escrever código que é fácil de entender, manter e estender. Envolve aderir a boas práticas de programação, como seguir convenções de nomenclatura, manter funções curtas e focadas, evitar duplicação, comentar apenas quando necessário e aplicar princípios de design, como os mencionados no SOLID.

Se você estava fazendo a versão anterior desta formação, que foi descontinuada, você pode acessá-la no link.

Se você está com dúvida de qual sequência seguir na formações de Java, sugerimos que comece seus estudos na formação Formação:
A partir do zero: iniciante em programação, em seguida , faça a formação
Aprenda a programar em Java com Orientação a Objetos e em seguida você pode estudar a formação Java Web: crie aplicações usando Spring Boot. Depois você pode estudar APIs em Java com a Formação Java e Spring Boot, em seguida, a Formação Boas Práticas em Java, Formação Aprofunde em Java com arquitetura de Microsserviços, Spring e  RabbitMQ e por fim a formação: Mensageria com Apache Kafka

Por que estudar esta formação?

  • Guia de aprendizado

    Conteúdos pensados para facilitar seu estudo

  • Do básico ao avançado

    Formação completa para o mercado

  • Você dentro do mercado

    Do zero ao sonhado emprego em sua área de interesse

Comece essa formação agora mesmo e capacite-se para seu próximo projeto!

Conheça os planos

Com quem você vai aprender?

  • Rodrigo da Silva Ferreira Caneppele

    Bacharel em Sistemas de Informação pela Universidade Católica de Brasília e programador desde 2005, com especialização em aplicações Web, APIs Rest, arquitetura e cibersegurança. Desde 2012 também atua como instrutor, produzindo e ministrando cursos de desenvolvimento de software.No YouTube, mantém o @canaldojavao, cujo foco é ensinar programação com Java e também outros assuntos relacionados com desenvolvimento de software.

  • Rodrigo da Silva Ferreira Caneppele

    Bacharel em Sistemas de Informação pela Universidade Católica de Brasília e programador desde 2005, com especialização em aplicações Web, APIs Rest, arquitetura e cibersegurança. Desde 2012 também atua como instrutor, produzindo e ministrando cursos de desenvolvimento de software.No YouTube, mantém o @canaldojavao, cujo foco é ensinar programação com Java e também outros assuntos relacionados com desenvolvimento de software.

  • Vinícius Louzada

    Engenheiro de Computação pela UFPA, Técnico em Eletrotécnica pelo IFPA e Designer Gráfico. Na Alura, sou Dev Back-end. Nas horas vagas, amo assistir futebol e jogar um FPS.

  • Vinícius Louzada

    Engenheiro de Computação pela UFPA, Técnico em Eletrotécnica pelo IFPA e Designer Gráfico. Na Alura, sou Dev Back-end. Nas horas vagas, amo assistir futebol e jogar um FPS.

  • João Victor

    João Victor é formado em ciências da computação e possui sólidos conhecimentos em desenvolvimento de sistemas utilizando linguagem Java e Kotlin. Atualmente é Software Engineer na empresa iFood.

  • João Victor

    João Victor é formado em ciências da computação e possui sólidos conhecimentos em desenvolvimento de sistemas utilizando linguagem Java e Kotlin. Atualmente é Software Engineer na empresa iFood.

Passo a passo
  1. 1 Refatoração de código

    Neste passo, você aprenderá a aplicar práticas e técnicas de refatoração. Através desse processo, aprimoraremos a legibilidade do nosso código, identificaremos os cenários propícios para aplicar refatorações, exploraremos diversas táticas para tornar nosso código mais conciso e seremos capazes de diagnosticar e melhorar trechos problemáticos através da aplicação dessas práticas sólidas.

    • Curso Java e refatoração: melhorando códigos com boas práticas

      10h
      • Refatore código complexo com boas práticas de programação
      • Estruture métodos e classes de modo eficaz
      • Aprenda a utilizar o padrão de projeto Command
      • Saiba como utilizar o pattern matching of switch do Java 15
      • Conduza testes de unidade com jUnit e Mockito
    • Artigo Clean Code: O que é, Casos de Uso, Exemplo de Código Limpo | Alura

  2. 2 Melhorando código de uma API com refatoração, SOLID e Design Patterns

    Neste passo, você aplicará boas práticas em uma aplicação Java, neste cenário, é API REST.

  3. 3 Testes automatizados

    Neste último passo, você vai aprender a realizar testes automatizados no código utilizando o JUnit como biblioteca de testes automatizados de unidade. Também vai aprender a simular comportamentos nos testes com a biblioteca Mockito e a testar as classes Service e controller do Spring.

    • Curso Boas práticas de programação: automatizando testes com Java

      10h
      • Entenda a importância dos testes automatizados no código
      • Utilize o JUnit como biblioteca de testes automatizados
      • Escreva testes de unidade com JUnit
      • Simule comportamentos nos testes com a biblioteca Mockito
      • Aprenda a testar classes service e controller do Spring

Escola

Programação

Além dessa, a categoria Programação conta com cursos de Lógica, Python, PHP, Java, .NET, Node JS, C, Computação, Jogos, IoT,e mais...

Conheça a Escola

Comece a estudar agora na maior escola de tecnologia do país

Conheça os Planos para Empresas