SlideShare uma empresa Scribd logo
1 de 14
Como Programar MelhorComo Programar Melhor
em Javaem Java
Boas PráticasBoas Práticas
Boas PráticasBoas Práticas
●
Existem muitos livros e artigos sobreExistem muitos livros e artigos sobre
as boas práticas de programaçãoas boas práticas de programação
Java;Java;
●
Explicam como fazer correto já naExplicam como fazer correto já na
primeira vez;primeira vez;
●
São soluções consagradas deSão soluções consagradas de
desenvolvedores experientes.desenvolvedores experientes.
E as más práticas?E as más práticas?
Más Práticas?Más Práticas?
●
Existem também as más práticas;Existem também as más práticas;
●
Erros recorrentes feitosErros recorrentes feitos
principalmente por iniciantes;principalmente por iniciantes;
●
Iniciantes ainda estão "lutando" comIniciantes ainda estão "lutando" com
a sintaxe da linguagem Java;a sintaxe da linguagem Java;
●
Têm pouco conhecimento sobre aTêm pouco conhecimento sobre a
biblioteca de classes JDK e seubiblioteca de classes JDK e seu
melhor uso.melhor uso.
Estude as Más Práticas emEstude as Más Práticas em
JavaJava
Estude as Más PráticasEstude as Más Práticas
para:para:
●
Entender por que é ruimEntender por que é ruim
(desempenho, depuração, uso da(desempenho, depuração, uso da
memória etc.);memória etc.);
●
Corrigir e evitar esses errosCorrigir e evitar esses erros
recorrentes tão comuns;recorrentes tão comuns;
●
Produzir um código menos nívelProduzir um código menos nível
"iniciante" e mais nível profissional"iniciante" e mais nível profissional
em Java.em Java.
Mas onde encontrar as másMas onde encontrar as más
práticas em Java?práticas em Java?
Antipadrões Java!Antipadrões Java!
http://antipadroesjava.blogspot.com.br
Antipadrões JavaAntipadrões Java
http://antipadroesjava.blogspot.com.br
●
Coleção de código-fonte ruim emColeção de código-fonte ruim em
Java;Java;
●
Todos baseados em códigos reais deTodos baseados em códigos reais de
programadores iniciantes;programadores iniciantes;
●
Os códigos ruins foram adaptadosOs códigos ruins foram adaptados
para destacarem o problema.para destacarem o problema.
Antipadrões JavaAntipadrões Java
http://antipadroesjava.blogspot.com.br
●
Cada antipadrão possui:Cada antipadrão possui:
●
o código-fonte ruim;o código-fonte ruim;
●
a explicação de por que é ruim (ema explicação de por que é ruim (em
português) e como melhorá-lo;português) e como melhorá-lo;
●
o código-fonte melhorado.o código-fonte melhorado.
Anatomia de um AntipadrãoAnatomia de um Antipadrão
JavaJava
Antipadrão XPTO
Lorem ipsum dolor sit amet,
consectetur adipiscing elit, sed do
eiusmod tempor incididunt ut labore
Consectetur adipiscing elit, sed do
eiusmod tempor incididunt ut labore
et dolore magna aliqua.
Lorem ipsum dolor sit amet,
consectetur adipiscing elit, sed do
eiusmod tempor incididunt ut labore
et dolore magna aliqua.
Por que é
ruim e como
melhorá-lo
Código-fonte
melhorado
Código-fonte
ruim
Nome
Outras FerramentasOutras Ferramentas
●
Muitos destes problemas podem serMuitos destes problemas podem ser
facilmente detectados pelofacilmente detectados pelo FindBugsFindBugs
(plugin para o(plugin para o EclipseEclipse););
●
Uma ferramenta mais completa é oUma ferramenta mais completa é o
SonarQubeSonarQube..
BibliografiaBibliografia
● http://antipadroesjava.blogspot.com.br
● http://www.odi.ch/prog/design/newbies.ph
● http://findbugs.sourceforge.net/
● http://www.sonarsource.com/
● https://eclipse.org/

Mais conteúdo relacionado

Mais procurados

TDD: Técnicas, Benefícios e Limitação
TDD: Técnicas, Benefícios e Limitação TDD: Técnicas, Benefícios e Limitação
TDD: Técnicas, Benefícios e Limitação Icaro Camelo
 
Programar != desenvolver software
Programar != desenvolver softwareProgramar != desenvolver software
Programar != desenvolver softwareElton Minetto
 
Tdd not sure if testing or developing
Tdd  not sure if testing or developingTdd  not sure if testing or developing
Tdd not sure if testing or developingRenato Oliveira
 
TDD para "meros mortais"
TDD para "meros mortais"TDD para "meros mortais"
TDD para "meros mortais"thiagobapt
 
Refatoração 1/3 webinar
Refatoração 1/3   webinarRefatoração 1/3   webinar
Refatoração 1/3 webinarZG Soluções
 
Quais são os erros mais comuns de um programador ruby
Quais são os erros mais comuns de um programador ruby Quais são os erros mais comuns de um programador ruby
Quais são os erros mais comuns de um programador ruby Flavia Fortes
 
Femug #9 iniciando com testes em node js!
Femug #9   iniciando com testes em node js!Femug #9   iniciando com testes em node js!
Femug #9 iniciando com testes em node js!Leandro Nishijima
 
Ágil como MacGyver - Caipira Ágil -18-08-2012
Ágil como MacGyver - Caipira Ágil -18-08-2012Ágil como MacGyver - Caipira Ágil -18-08-2012
Ágil como MacGyver - Caipira Ágil -18-08-2012Luca Bastos
 
Como testar sua aplicação Android com Robotium
Como testar sua aplicação Android com RobotiumComo testar sua aplicação Android com Robotium
Como testar sua aplicação Android com RobotiumThayse Severiano
 
WebCamps Software Testing
WebCamps Software TestingWebCamps Software Testing
WebCamps Software TestingRodrigo Vidal
 
Abordando tdd no i os
Abordando tdd no i osAbordando tdd no i os
Abordando tdd no i osGabriel Oliva
 

Mais procurados (20)

Coding Dojo
Coding DojoCoding Dojo
Coding Dojo
 
TDD: Técnicas, Benefícios e Limitação
TDD: Técnicas, Benefícios e Limitação TDD: Técnicas, Benefícios e Limitação
TDD: Técnicas, Benefícios e Limitação
 
Programar != desenvolver software
Programar != desenvolver softwareProgramar != desenvolver software
Programar != desenvolver software
 
Começando errado com php
Começando errado com phpComeçando errado com php
Começando errado com php
 
Tdd not sure if testing or developing
Tdd  not sure if testing or developingTdd  not sure if testing or developing
Tdd not sure if testing or developing
 
Pep 8
Pep 8Pep 8
Pep 8
 
TDD para "meros mortais"
TDD para "meros mortais"TDD para "meros mortais"
TDD para "meros mortais"
 
Refatoração 1/3 webinar
Refatoração 1/3   webinarRefatoração 1/3   webinar
Refatoração 1/3 webinar
 
Quais são os erros mais comuns de um programador ruby
Quais são os erros mais comuns de um programador ruby Quais são os erros mais comuns de um programador ruby
Quais são os erros mais comuns de um programador ruby
 
Coding Dojo
Coding DojoCoding Dojo
Coding Dojo
 
Femug #9 iniciando com testes em node js!
Femug #9   iniciando com testes em node js!Femug #9   iniciando com testes em node js!
Femug #9 iniciando com testes em node js!
 
Ágil como MacGyver - Caipira Ágil -18-08-2012
Ágil como MacGyver - Caipira Ágil -18-08-2012Ágil como MacGyver - Caipira Ágil -18-08-2012
Ágil como MacGyver - Caipira Ágil -18-08-2012
 
Coding Dojo #GuruPI
Coding Dojo #GuruPICoding Dojo #GuruPI
Coding Dojo #GuruPI
 
Como testar sua aplicação Android com Robotium
Como testar sua aplicação Android com RobotiumComo testar sua aplicação Android com Robotium
Como testar sua aplicação Android com Robotium
 
Cópia de monkey runner
Cópia de monkey runnerCópia de monkey runner
Cópia de monkey runner
 
Metodologias Ágeis
Metodologias ÁgeisMetodologias Ágeis
Metodologias Ágeis
 
WebCamps Software Testing
WebCamps Software TestingWebCamps Software Testing
WebCamps Software Testing
 
#Qualidade decodigo
#Qualidade decodigo#Qualidade decodigo
#Qualidade decodigo
 
Abordando tdd no i os
Abordando tdd no i osAbordando tdd no i os
Abordando tdd no i os
 
Piadas de CSS e Javascript
Piadas de CSS e JavascriptPiadas de CSS e Javascript
Piadas de CSS e Javascript
 

Destaque

Redes de computadores - Meios de Transmissão
Redes de computadores - Meios de TransmissãoRedes de computadores - Meios de Transmissão
Redes de computadores - Meios de TransmissãoAugusto Braz
 
watch 2015 Super Rugby
watch 2015 Super Rugbywatch 2015 Super Rugby
watch 2015 Super RugbyAlexGinns
 
Il capitano - Disegni da colorare - Sabbiarelli
Il capitano - Disegni da colorare - SabbiarelliIl capitano - Disegni da colorare - Sabbiarelli
Il capitano - Disegni da colorare - SabbiarelliSabbiarelli
 
Stag 201606 Thi Tran Certificate pdf
Stag 201606 Thi Tran Certificate pdfStag 201606 Thi Tran Certificate pdf
Stag 201606 Thi Tran Certificate pdfThi N. M. Tran
 
1º bct correccion jueves 7 febrero
1º bct correccion jueves 7 febrero1º bct correccion jueves 7 febrero
1º bct correccion jueves 7 febreroInmagarciarebanal
 
Tendances Social Media 2014
Tendances Social Media 2014 Tendances Social Media 2014
Tendances Social Media 2014 Solange Derrey
 
Lo sabes todo sobre manuel carrasco
Lo sabes todo sobre manuel carrascoLo sabes todo sobre manuel carrasco
Lo sabes todo sobre manuel carrascojulkal
 

Destaque (10)

Redes de computadores - Meios de Transmissão
Redes de computadores - Meios de TransmissãoRedes de computadores - Meios de Transmissão
Redes de computadores - Meios de Transmissão
 
watch 2015 Super Rugby
watch 2015 Super Rugbywatch 2015 Super Rugby
watch 2015 Super Rugby
 
j8v4h.pdf
j8v4h.pdfj8v4h.pdf
j8v4h.pdf
 
Il capitano - Disegni da colorare - Sabbiarelli
Il capitano - Disegni da colorare - SabbiarelliIl capitano - Disegni da colorare - Sabbiarelli
Il capitano - Disegni da colorare - Sabbiarelli
 
Untitled Presentation
Untitled PresentationUntitled Presentation
Untitled Presentation
 
Stag 201606 Thi Tran Certificate pdf
Stag 201606 Thi Tran Certificate pdfStag 201606 Thi Tran Certificate pdf
Stag 201606 Thi Tran Certificate pdf
 
1º bct correccion jueves 7 febrero
1º bct correccion jueves 7 febrero1º bct correccion jueves 7 febrero
1º bct correccion jueves 7 febrero
 
Tendances Social Media 2014
Tendances Social Media 2014 Tendances Social Media 2014
Tendances Social Media 2014
 
Lo sabes todo sobre manuel carrasco
Lo sabes todo sobre manuel carrascoLo sabes todo sobre manuel carrasco
Lo sabes todo sobre manuel carrasco
 
Meios de transmissão
Meios de transmissãoMeios de transmissão
Meios de transmissão
 

Semelhante a Como Programar Melhor em Java

Curso Java #01 - Introdução
Curso Java #01 - IntroduçãoCurso Java #01 - Introdução
Curso Java #01 - IntroduçãoRenato Sousa
 
React Native - Experiência Nativa para o usuário e experiência Web para o des...
React Native - Experiência Nativa para o usuário e experiência Web para o des...React Native - Experiência Nativa para o usuário e experiência Web para o des...
React Native - Experiência Nativa para o usuário e experiência Web para o des...Emiliano Barbosa
 
Java não é tão difícil quanto parece
Java não é tão difícil quanto pareceJava não é tão difícil quanto parece
Java não é tão difícil quanto parecejesuinoPower
 
Introdução a Tecnologia Java
Introdução a Tecnologia JavaIntrodução a Tecnologia Java
Introdução a Tecnologia JavaThiago Gonzaga
 
Aula 01 - POO - Bem Vindo a Objetolândia!
Aula 01 - POO - Bem Vindo a Objetolândia!Aula 01 - POO - Bem Vindo a Objetolândia!
Aula 01 - POO - Bem Vindo a Objetolândia!Aislan Rafael
 
Desenvolvendo Aplicações Livres em Java - João Avelino Bellomo Filho
Desenvolvendo Aplicações Livres em Java - João Avelino Bellomo FilhoDesenvolvendo Aplicações Livres em Java - João Avelino Bellomo Filho
Desenvolvendo Aplicações Livres em Java - João Avelino Bellomo FilhoTchelinux
 
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreams
#DNAD15  - Diminuindo sofrimento com código legado de linguagens não mainstreams#DNAD15  - Diminuindo sofrimento com código legado de linguagens não mainstreams
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreamsJacqueline Abreu
 
Caelum java-objetos-fj11
Caelum java-objetos-fj11Caelum java-objetos-fj11
Caelum java-objetos-fj11Caique Moretto
 
Seja um júnior não seja um sobrinho
Seja um júnior não seja um sobrinhoSeja um júnior não seja um sobrinho
Seja um júnior não seja um sobrinhoAlexandre Andrade
 
Aula 01 O que é java
Aula 01   O que é javaAula 01   O que é java
Aula 01 O que é javaSergio Silva
 
Pensando fora da caixa
Pensando fora da caixaPensando fora da caixa
Pensando fora da caixaWilliam "Kina"
 

Semelhante a Como Programar Melhor em Java (20)

Java20141215 17[1]
Java20141215 17[1]Java20141215 17[1]
Java20141215 17[1]
 
Como Se Dar Bem Com Java
Como Se Dar Bem Com JavaComo Se Dar Bem Com Java
Como Se Dar Bem Com Java
 
Curso Java #01 - Introdução
Curso Java #01 - IntroduçãoCurso Java #01 - Introdução
Curso Java #01 - Introdução
 
Interplan java basico_modulo1
Interplan java basico_modulo1Interplan java basico_modulo1
Interplan java basico_modulo1
 
Por que Java?
Por que Java?Por que Java?
Por que Java?
 
React Native - Experiência Nativa para o usuário e experiência Web para o des...
React Native - Experiência Nativa para o usuário e experiência Web para o des...React Native - Experiência Nativa para o usuário e experiência Web para o des...
React Native - Experiência Nativa para o usuário e experiência Web para o des...
 
Academia java intensivo
Academia java intensivoAcademia java intensivo
Academia java intensivo
 
Java não é tão difícil quanto parece
Java não é tão difícil quanto pareceJava não é tão difícil quanto parece
Java não é tão difícil quanto parece
 
Introdução a Tecnologia Java
Introdução a Tecnologia JavaIntrodução a Tecnologia Java
Introdução a Tecnologia Java
 
Aula 01 - POO - Bem Vindo a Objetolândia!
Aula 01 - POO - Bem Vindo a Objetolândia!Aula 01 - POO - Bem Vindo a Objetolândia!
Aula 01 - POO - Bem Vindo a Objetolândia!
 
Desenvolvendo Aplicações Livres em Java - João Avelino Bellomo Filho
Desenvolvendo Aplicações Livres em Java - João Avelino Bellomo FilhoDesenvolvendo Aplicações Livres em Java - João Avelino Bellomo Filho
Desenvolvendo Aplicações Livres em Java - João Avelino Bellomo Filho
 
Dr Java Virtual Machine
Dr Java Virtual MachineDr Java Virtual Machine
Dr Java Virtual Machine
 
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreams
#DNAD15  - Diminuindo sofrimento com código legado de linguagens não mainstreams#DNAD15  - Diminuindo sofrimento com código legado de linguagens não mainstreams
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreams
 
Caelum java-objetos-fj11
Caelum java-objetos-fj11Caelum java-objetos-fj11
Caelum java-objetos-fj11
 
Caelum Java
Caelum JavaCaelum Java
Caelum Java
 
Caelum java-objetos-fj11
Caelum java-objetos-fj11Caelum java-objetos-fj11
Caelum java-objetos-fj11
 
Seja um júnior não seja um sobrinho
Seja um júnior não seja um sobrinhoSeja um júnior não seja um sobrinho
Seja um júnior não seja um sobrinho
 
Aula 01 O que é java
Aula 01   O que é javaAula 01   O que é java
Aula 01 O que é java
 
Pensando fora da caixa
Pensando fora da caixaPensando fora da caixa
Pensando fora da caixa
 
Aula 01 o que é java
Aula 01  o que é javaAula 01  o que é java
Aula 01 o que é java
 

Mais de Mauricio Volkweis Astiazara

Sistema Imunológico Artificial para Predição de Fraudes e Furtos de Energia E...
Sistema Imunológico Artificial para Predição de Fraudes e Furtos de Energia E...Sistema Imunológico Artificial para Predição de Fraudes e Furtos de Energia E...
Sistema Imunológico Artificial para Predição de Fraudes e Furtos de Energia E...Mauricio Volkweis Astiazara
 
Sistema Imunológico Artificial para Predição de Fraudes e Furtos de Energia E...
Sistema Imunológico Artificial para Predição de Fraudes e Furtos de Energia E...Sistema Imunológico Artificial para Predição de Fraudes e Furtos de Energia E...
Sistema Imunológico Artificial para Predição de Fraudes e Furtos de Energia E...Mauricio Volkweis Astiazara
 
Comparação de Algoritmos Baseados em Q-Learning
Comparação de Algoritmos Baseados em Q-LearningComparação de Algoritmos Baseados em Q-Learning
Comparação de Algoritmos Baseados em Q-LearningMauricio Volkweis Astiazara
 
Sistema de Recomendação de Páginas sobre Saúde
Sistema de Recomendação de Páginas sobre SaúdeSistema de Recomendação de Páginas sobre Saúde
Sistema de Recomendação de Páginas sobre SaúdeMauricio Volkweis Astiazara
 
Sistema de Recomendação de Páginas sobre Saúde
Sistema de Recomendação de Páginas sobre SaúdeSistema de Recomendação de Páginas sobre Saúde
Sistema de Recomendação de Páginas sobre SaúdeMauricio Volkweis Astiazara
 

Mais de Mauricio Volkweis Astiazara (20)

Sistemas Imunológicos Artificiais
Sistemas Imunológicos ArtificiaisSistemas Imunológicos Artificiais
Sistemas Imunológicos Artificiais
 
Sistema Imunológico Artificial para Predição de Fraudes e Furtos de Energia E...
Sistema Imunológico Artificial para Predição de Fraudes e Furtos de Energia E...Sistema Imunológico Artificial para Predição de Fraudes e Furtos de Energia E...
Sistema Imunológico Artificial para Predição de Fraudes e Furtos de Energia E...
 
Sistema Imunológico Artificial para Predição de Fraudes e Furtos de Energia E...
Sistema Imunológico Artificial para Predição de Fraudes e Furtos de Energia E...Sistema Imunológico Artificial para Predição de Fraudes e Furtos de Energia E...
Sistema Imunológico Artificial para Predição de Fraudes e Furtos de Energia E...
 
Comparação de Algoritmos Baseados em Q-Learning
Comparação de Algoritmos Baseados em Q-LearningComparação de Algoritmos Baseados em Q-Learning
Comparação de Algoritmos Baseados em Q-Learning
 
Classificador de Documentos Naïve Bayes
Classificador de Documentos Naïve BayesClassificador de Documentos Naïve Bayes
Classificador de Documentos Naïve Bayes
 
Visão Computacional
Visão ComputacionalVisão Computacional
Visão Computacional
 
Sistema de Recomendação de Páginas sobre Saúde
Sistema de Recomendação de Páginas sobre SaúdeSistema de Recomendação de Páginas sobre Saúde
Sistema de Recomendação de Páginas sobre Saúde
 
Sistema de Recomendação de Páginas sobre Saúde
Sistema de Recomendação de Páginas sobre SaúdeSistema de Recomendação de Páginas sobre Saúde
Sistema de Recomendação de Páginas sobre Saúde
 
Processamento de Imagens
Processamento de ImagensProcessamento de Imagens
Processamento de Imagens
 
Percepção, Movimento e Ação
Percepção, Movimento e AçãoPercepção, Movimento e Ação
Percepção, Movimento e Ação
 
Memória e Aprendizagem
Memória e AprendizagemMemória e Aprendizagem
Memória e Aprendizagem
 
Gerência de Requisitos
Gerência de RequisitosGerência de Requisitos
Gerência de Requisitos
 
Testes de Sistema
Testes de SistemaTestes de Sistema
Testes de Sistema
 
Telefonia Móvel
Telefonia MóvelTelefonia Móvel
Telefonia Móvel
 
Telefonia Móvel
Telefonia MóvelTelefonia Móvel
Telefonia Móvel
 
Realidade Virtual
Realidade VirtualRealidade Virtual
Realidade Virtual
 
Protótipo de Simulador de Elevadores
Protótipo de Simulador de ElevadoresProtótipo de Simulador de Elevadores
Protótipo de Simulador de Elevadores
 
Protótipo de Simulador de Elevadores
Protótipo de Simulador de ElevadoresProtótipo de Simulador de Elevadores
Protótipo de Simulador de Elevadores
 
Planejamento de Informática
Planejamento de InformáticaPlanejamento de Informática
Planejamento de Informática
 
Planejamento de Informática
Planejamento de InformáticaPlanejamento de Informática
Planejamento de Informática
 

Como Programar Melhor em Java

  • 1. Como Programar MelhorComo Programar Melhor em Javaem Java
  • 3. Boas PráticasBoas Práticas ● Existem muitos livros e artigos sobreExistem muitos livros e artigos sobre as boas práticas de programaçãoas boas práticas de programação Java;Java; ● Explicam como fazer correto já naExplicam como fazer correto já na primeira vez;primeira vez; ● São soluções consagradas deSão soluções consagradas de desenvolvedores experientes.desenvolvedores experientes.
  • 4. E as más práticas?E as más práticas?
  • 5. Más Práticas?Más Práticas? ● Existem também as más práticas;Existem também as más práticas; ● Erros recorrentes feitosErros recorrentes feitos principalmente por iniciantes;principalmente por iniciantes; ● Iniciantes ainda estão "lutando" comIniciantes ainda estão "lutando" com a sintaxe da linguagem Java;a sintaxe da linguagem Java; ● Têm pouco conhecimento sobre aTêm pouco conhecimento sobre a biblioteca de classes JDK e seubiblioteca de classes JDK e seu melhor uso.melhor uso.
  • 6. Estude as Más Práticas emEstude as Más Práticas em JavaJava
  • 7. Estude as Más PráticasEstude as Más Práticas para:para: ● Entender por que é ruimEntender por que é ruim (desempenho, depuração, uso da(desempenho, depuração, uso da memória etc.);memória etc.); ● Corrigir e evitar esses errosCorrigir e evitar esses erros recorrentes tão comuns;recorrentes tão comuns; ● Produzir um código menos nívelProduzir um código menos nível "iniciante" e mais nível profissional"iniciante" e mais nível profissional em Java.em Java.
  • 8. Mas onde encontrar as másMas onde encontrar as más práticas em Java?práticas em Java?
  • 10. Antipadrões JavaAntipadrões Java http://antipadroesjava.blogspot.com.br ● Coleção de código-fonte ruim emColeção de código-fonte ruim em Java;Java; ● Todos baseados em códigos reais deTodos baseados em códigos reais de programadores iniciantes;programadores iniciantes; ● Os códigos ruins foram adaptadosOs códigos ruins foram adaptados para destacarem o problema.para destacarem o problema.
  • 11. Antipadrões JavaAntipadrões Java http://antipadroesjava.blogspot.com.br ● Cada antipadrão possui:Cada antipadrão possui: ● o código-fonte ruim;o código-fonte ruim; ● a explicação de por que é ruim (ema explicação de por que é ruim (em português) e como melhorá-lo;português) e como melhorá-lo; ● o código-fonte melhorado.o código-fonte melhorado.
  • 12. Anatomia de um AntipadrãoAnatomia de um Antipadrão JavaJava Antipadrão XPTO Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore Consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Por que é ruim e como melhorá-lo Código-fonte melhorado Código-fonte ruim Nome
  • 13. Outras FerramentasOutras Ferramentas ● Muitos destes problemas podem serMuitos destes problemas podem ser facilmente detectados pelofacilmente detectados pelo FindBugsFindBugs (plugin para o(plugin para o EclipseEclipse);); ● Uma ferramenta mais completa é oUma ferramenta mais completa é o SonarQubeSonarQube..
  • 14. BibliografiaBibliografia ● http://antipadroesjava.blogspot.com.br ● http://www.odi.ch/prog/design/newbies.ph ● http://findbugs.sourceforge.net/ ● http://www.sonarsource.com/ ● https://eclipse.org/