SlideShare una empresa de Scribd logo
1 de 44
Descargar para leer sin conexión
CLEAN CODE COM
FEATURES DO
JAVA 8 A JAVA 14
TDC SP 2020
Paula Santana e Roan Brasil
Agenda
What is Clean Code?
Clean Code = Best Practices?
Default and Static Methods in
Interfaces
Interfaces Funcionais e Lambdas
Collections
Streams
Local Variable
Records
Java Time API
Optional
ENUM Example with Method
Reference
Estrutura de Dados Complexa com
Streams
Práticas de Design.
What is
Clean Code?
Legibilidade /
Semântica
Qualidade
Fácil de Manter
What is
Clean Code?
Legível
Testável
Clean Code = Best Practices?
Default and
Static Methods
in Interfaces
Duplicação
Não quebra as
implementações
Interfaces
Funcionais &
Lambda
Predicate
Function
Consumer
Suppliers
Composição (Lambda)
Function
Predicate
Predicate
Function
Bi
Function
Consumer
Consumer
Supplier
Prefer lambdas to
anonymous classes
Before
Prefer lambdas to
anonymous classesAfter
Collections
METHODS IMMUTABLE
NEW METHODS
Immutable
Before
Immutable
After
Métodos
mais simples e
legíveis
Métodos
mais simples e
legíveis
Streams
Streams
Tornar o código mais conciso e
legível.
Tornar o uso de nomes adequados o
foco do que o tipo
Local Variable
Facilidade de entendê-la
Flexibilidade
Java Time API
Imutabilidade e Thread-Safety
Método em cadeia
Métodos mais intuitivos.
Código mais fluente.
Datas
After
Before
semântica
nomes
Enums
no lugar de
Constantes
Comparar
Datas
Before
After
Records
Novo Tipo.
o tipo Record cria por default uma classe imutável,
visto que o código compilado gera uma classe final
com atributos final.
Este tipo tem suas restrições: Não permite novos
atributos e construtores e não é permitido estender
uma classe que seja do tipo Record.
ESTRUTURA 
DE DADOS
Optional
Menos validação durante o código.
Antes
Depois
Optional
ENUM Example
with Method
Reference
Estrutura de
Dados Complexo
com Streams
Deixe o
acampamento
mais limpo do
que o
encontrou.
Thanks
@roanbrasil @psanrosa13

Más contenido relacionado

Similar a CLEAN CODE COM FEATURES DO JAVA 8 A JAVA 14

Pense Aberto, Pense Linux
Pense Aberto, Pense LinuxPense Aberto, Pense Linux
Pense Aberto, Pense Linuxaviram
 
Integração de sistemas da informação - Abordagens de integração
Integração de sistemas da informação - Abordagens de integraçãoIntegração de sistemas da informação - Abordagens de integração
Integração de sistemas da informação - Abordagens de integraçãoJoao Johanes
 
Evolução da eficiência operacional no mainframe por Emerson Castelano (Eccox)
Evolução da eficiência operacional no mainframe por Emerson Castelano (Eccox)Evolução da eficiência operacional no mainframe por Emerson Castelano (Eccox)
Evolução da eficiência operacional no mainframe por Emerson Castelano (Eccox)Joao Galdino Mello de Souza
 
1 Qss
1 Qss1 Qss
1 Qsslcbj
 
middlewareReflexivo.ppt
middlewareReflexivo.pptmiddlewareReflexivo.ppt
middlewareReflexivo.pptPatrícia Melo
 
TDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutos
TDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutosTDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutos
TDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutosRafael Chaves
 
JustJava 2005: Web Services em Java com o JWSDP 1.5
JustJava 2005: Web Services em Java com o JWSDP 1.5JustJava 2005: Web Services em Java com o JWSDP 1.5
JustJava 2005: Web Services em Java com o JWSDP 1.5Helder da Rocha
 
C# 6.0 - DotNetBaixada - Novembro/2015
C# 6.0 - DotNetBaixada - Novembro/2015C# 6.0 - DotNetBaixada - Novembro/2015
C# 6.0 - DotNetBaixada - Novembro/2015Renato Groff
 
A importância de DDD e o Domain Model na construção de APIs!
A importância de DDD e o Domain Model na construção de APIs!A importância de DDD e o Domain Model na construção de APIs!
A importância de DDD e o Domain Model na construção de APIs!Isaac de Souza
 
Enterprise Architect - Sparx Systems
Enterprise Architect - Sparx Systems Enterprise Architect - Sparx Systems
Enterprise Architect - Sparx Systems Saldit Software
 
Arquitetura de Software e o DNAD2013
Arquitetura de Software e o DNAD2013Arquitetura de Software e o DNAD2013
Arquitetura de Software e o DNAD2013André Borgonovo
 
Refactory Worshop
Refactory WorshopRefactory Worshop
Refactory Worshopguestd37c23
 
REST vs GraphQL - A batalha das APIs.pdf
REST vs GraphQL - A batalha das APIs.pdfREST vs GraphQL - A batalha das APIs.pdf
REST vs GraphQL - A batalha das APIs.pdfBrunoAlbuquerque864673
 
Construindo aplicações saudáveis e prontas para envelhecer The 12ou15 Factors
Construindo aplicações saudáveis e prontas para envelhecer The 12ou15 FactorsConstruindo aplicações saudáveis e prontas para envelhecer The 12ou15 Factors
Construindo aplicações saudáveis e prontas para envelhecer The 12ou15 FactorsRoberto Santacroce Martins
 

Similar a CLEAN CODE COM FEATURES DO JAVA 8 A JAVA 14 (20)

DotNet vs. Java
DotNet vs. JavaDotNet vs. Java
DotNet vs. Java
 
Pense Aberto, Pense Linux
Pense Aberto, Pense LinuxPense Aberto, Pense Linux
Pense Aberto, Pense Linux
 
Integração de sistemas da informação - Abordagens de integração
Integração de sistemas da informação - Abordagens de integraçãoIntegração de sistemas da informação - Abordagens de integração
Integração de sistemas da informação - Abordagens de integração
 
Service Design Patterns - Study Case
Service Design Patterns - Study Case  Service Design Patterns - Study Case
Service Design Patterns - Study Case
 
Rmi (remote method invocation)
Rmi (remote method invocation)Rmi (remote method invocation)
Rmi (remote method invocation)
 
Evolução da eficiência operacional no mainframe por Emerson Castelano (Eccox)
Evolução da eficiência operacional no mainframe por Emerson Castelano (Eccox)Evolução da eficiência operacional no mainframe por Emerson Castelano (Eccox)
Evolução da eficiência operacional no mainframe por Emerson Castelano (Eccox)
 
Qualidade de código
Qualidade de códigoQualidade de código
Qualidade de código
 
1 Qss
1 Qss1 Qss
1 Qss
 
middlewareReflexivo.ppt
middlewareReflexivo.pptmiddlewareReflexivo.ppt
middlewareReflexivo.ppt
 
TDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutos
TDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutosTDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutos
TDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutos
 
JustJava 2005: Web Services em Java com o JWSDP 1.5
JustJava 2005: Web Services em Java com o JWSDP 1.5JustJava 2005: Web Services em Java com o JWSDP 1.5
JustJava 2005: Web Services em Java com o JWSDP 1.5
 
C# 6.0 - DotNetBaixada - Novembro/2015
C# 6.0 - DotNetBaixada - Novembro/2015C# 6.0 - DotNetBaixada - Novembro/2015
C# 6.0 - DotNetBaixada - Novembro/2015
 
Apprenda 12.2015
Apprenda 12.2015Apprenda 12.2015
Apprenda 12.2015
 
A importância de DDD e o Domain Model na construção de APIs!
A importância de DDD e o Domain Model na construção de APIs!A importância de DDD e o Domain Model na construção de APIs!
A importância de DDD e o Domain Model na construção de APIs!
 
Enterprise Architect - Sparx Systems
Enterprise Architect - Sparx Systems Enterprise Architect - Sparx Systems
Enterprise Architect - Sparx Systems
 
Arquitetura de Software e o DNAD2013
Arquitetura de Software e o DNAD2013Arquitetura de Software e o DNAD2013
Arquitetura de Software e o DNAD2013
 
Mobicents - Plataforma VoIP Open Source
Mobicents - Plataforma VoIP Open SourceMobicents - Plataforma VoIP Open Source
Mobicents - Plataforma VoIP Open Source
 
Refactory Worshop
Refactory WorshopRefactory Worshop
Refactory Worshop
 
REST vs GraphQL - A batalha das APIs.pdf
REST vs GraphQL - A batalha das APIs.pdfREST vs GraphQL - A batalha das APIs.pdf
REST vs GraphQL - A batalha das APIs.pdf
 
Construindo aplicações saudáveis e prontas para envelhecer The 12ou15 Factors
Construindo aplicações saudáveis e prontas para envelhecer The 12ou15 FactorsConstruindo aplicações saudáveis e prontas para envelhecer The 12ou15 Factors
Construindo aplicações saudáveis e prontas para envelhecer The 12ou15 Factors
 

Más de Roan Brasil Monteiro

Java moderno java para Jedis episodio I
Java moderno  java para  Jedis  episodio IJava moderno  java para  Jedis  episodio I
Java moderno java para Jedis episodio IRoan Brasil Monteiro
 
Improving your code design using Java
Improving your code design using JavaImproving your code design using Java
Improving your code design using JavaRoan Brasil Monteiro
 
Jumping in Jakarta Open Source Project Everything nobody tells you
Jumping in Jakarta Open Source Project  Everything nobody tells youJumping in Jakarta Open Source Project  Everything nobody tells you
Jumping in Jakarta Open Source Project Everything nobody tells youRoan Brasil Monteiro
 
Saga pattern and event sourcing with kafka
Saga pattern and event sourcing with kafkaSaga pattern and event sourcing with kafka
Saga pattern and event sourcing with kafkaRoan Brasil Monteiro
 
HTTP / 1, HTTP / 2 and HTTP / 3: Past, present and the future of APIs
HTTP / 1, HTTP / 2 and HTTP / 3: Past, present and the future of APIsHTTP / 1, HTTP / 2 and HTTP / 3: Past, present and the future of APIs
HTTP / 1, HTTP / 2 and HTTP / 3: Past, present and the future of APIsRoan Brasil Monteiro
 
Introduction to microservices Jornada Microservices
Introduction to microservices Jornada MicroservicesIntroduction to microservices Jornada Microservices
Introduction to microservices Jornada MicroservicesRoan Brasil Monteiro
 
Creating an api from design to security.
Creating an api from design to security.Creating an api from design to security.
Creating an api from design to security.Roan Brasil Monteiro
 

Más de Roan Brasil Monteiro (7)

Java moderno java para Jedis episodio I
Java moderno  java para  Jedis  episodio IJava moderno  java para  Jedis  episodio I
Java moderno java para Jedis episodio I
 
Improving your code design using Java
Improving your code design using JavaImproving your code design using Java
Improving your code design using Java
 
Jumping in Jakarta Open Source Project Everything nobody tells you
Jumping in Jakarta Open Source Project  Everything nobody tells youJumping in Jakarta Open Source Project  Everything nobody tells you
Jumping in Jakarta Open Source Project Everything nobody tells you
 
Saga pattern and event sourcing with kafka
Saga pattern and event sourcing with kafkaSaga pattern and event sourcing with kafka
Saga pattern and event sourcing with kafka
 
HTTP / 1, HTTP / 2 and HTTP / 3: Past, present and the future of APIs
HTTP / 1, HTTP / 2 and HTTP / 3: Past, present and the future of APIsHTTP / 1, HTTP / 2 and HTTP / 3: Past, present and the future of APIs
HTTP / 1, HTTP / 2 and HTTP / 3: Past, present and the future of APIs
 
Introduction to microservices Jornada Microservices
Introduction to microservices Jornada MicroservicesIntroduction to microservices Jornada Microservices
Introduction to microservices Jornada Microservices
 
Creating an api from design to security.
Creating an api from design to security.Creating an api from design to security.
Creating an api from design to security.
 

CLEAN CODE COM FEATURES DO JAVA 8 A JAVA 14