SlideShare uma empresa Scribd logo
Globalcode – Open4education
JavaScript – Ferramentas de Code
Analysis e Code Fixed para
JavaScript
Charles Mendes de Macedo e Erick Wendel Gomes da Silva
Globalcode – Open4education
Agenda
Introdução:
Definições (Code Analysis, Code Fixed, Code Refactoring)
Ferramentas:
JSHint e JSLint
JetBrains
SonarLint
JsAdvice
Dúvidas?
Globalcode – Open4education
Definições:
O que é Code Analysis (Source Code Analysis)?
Analisador de código fonte que indicar possíveis erros ou melhorias.
Realizando essa analise enquanto o código é escrito, sem precisar
executa-la.
Referências:
Static Code Analysis (https://en.wikipedia.org/wiki/Static_program_analysis)
List of Tools for Static Code Analysis (https://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis)
Globalcode – Open4education
Definições:
O que é Code Fixed (fixes) / Code Quality?
É um analisador de código que propõe sugestões de melhorias e
correções de erros, tanto aparente como possíveis problemas no
código.
Referências:
We know you aren’t fixing code quality issues (but you should) (
https://zeroturnaround.com/rebellabs/we-know-you-arent-fixing-code-quality-issues-but-you-should/)
Assegurando a qualidade do seu código JavaScript (http://tableless.com.br/qualidade-codigo-javascript/)
Globalcode – Open4education
Definições:
O que é uma ferramenta de Code Refactoring?
Ferramenta que analisa o código fonte, que esta correto e não possui
erros mas, pode conter code smells (Código Duplicado, Má utilização
do “this”, Complexidade Ciclomática, Código temperamental,
Acoplamento, etc) sugerindo a refatoração do código encontrado.
Referências:
JavaScript Code Smells (http://elijahmanor.com/javascript-smells/)
Medindo a complexidade do seu código JavaScript (
http://tableless.com.br/medindo-a-complexidade-ciclomatica-do-seu-codigo-javascript/)
Globalcode – Open4education
Ferramentas:
JsHint e JsLint (Sublime, VS Code, Eclipse, Visual
Studio)
Ferramenta inicialmente desenvolvida por Douglas Crockford, o criador do
formato Json, e autor do livro “JavaScript: The Good Parts”. (Open Source)
“JSHint é uma ferramenta voltada para a comunidade para detectar erros e
potenciais problemas no código JavaScript e para impor convenções de
codificação da sua equipe.” - Site da JSHint.
Referências:
http://jshint.com/about/
https://github.com/benquarmby/jslintnet (.Net)
https://github.com/jshint/jshint
Globalcode – Open4education
Ferramentas:
JsHint (Eclipse)
Globalcode – Open4education
Ferramentas:
JsHint (Eclipse)
Globalcode – Open4education
Ferramentas:
JetBrains
A JetBrains é uma empresa especialista em ferramentas de Code Analysis,
Code Fixed e Code Refactoring para várias linguagens (Java, PHP, Python,
Ruby, etc) e agora em todas as ferramentas tem o analisador de JavaScript.
ReSharper (Visual Studio 2005, 2008, 2010, 2012 e 2015)
IntelliJ (Java)
WebStorm (Node.Js)
RubyMine (Ruby)
PhpStorm (PHP)
PyCharm (Python)
Referências:
https://www.jetbrains.com
https://www.jetbrains.com/student/
Globalcode – Open4education
Ferramentas:
JetBrains
ReSharper (Visual Studio):
Globalcode – Open4education
Ferramentas:
JetBrains
ReSharper (Visual Studio):
Globalcode – Open4education
Ferramentas:
JetBrains
ReSharper (Visual Studio):
Globalcode – Open4education
Ferramentas:
JetBrains
ReSharper (Visual Studio):
Globalcode – Open4education
Ferramentas
SonarLint
Ferramenta ainda no inicio de code analysis para JavaScript.
É uma das ferramenta da SonarQube (IDEs: Eclipse, IntelliJi IDEA e Visual
Studio), que é uma plataforma de gestão de qualidade de código aberto.
Referência:
http://www.sonarqube.org/
http://www.sonarlint.org/
http://www.sonarlint.org/eclipse/rules/index.html#version=2.1.0&ruleId=S104&language=JavaScri
pt
Globalcode – Open4education
Mais Ferramentas...
JSAdvice
Uma ferramenta analisadora de código JavaScript que sugeri possíveis erros
no código ou melhorias. Inicialmente só esta disponível para o Visual Studio
2015. Mas, foi criada por brasileiro e é Open Source, aberto para receber
contribuições.
Referência:
https://github.com/MackMendes/JsAdvice-Beta
Globalcode – Open4education
Dúvidas?
Globalcode – Open4education
Obrigado!
Contatos:
Charles Mendes de Macedo:
https://github.com/MackMendes (GitHub)
@CharlesMendesMa (Twitter)
Erick Wendel Gomes da Silva:
https://github.com/ErickWendel (GitHub)
erickwendel.com.br (blog)

Mais conteúdo relacionado

Mais procurados

pfa
pfapfa
Conheça Visual Studio IntelliCode e Visual Studio Live Share
Conheça Visual Studio IntelliCode e Visual Studio Live ShareConheça Visual Studio IntelliCode e Visual Studio Live Share
Conheça Visual Studio IntelliCode e Visual Studio Live Share
Letticia Nicoli
 
Porque eu deveria usar TypeScript?
Porque eu deveria usar TypeScript?Porque eu deveria usar TypeScript?
Porque eu deveria usar TypeScript?
Caliel Costa
 
Be React. Do Tests!
Be React. Do Tests!Be React. Do Tests!
Be React. Do Tests!
Henrique Gogó
 
Dicas para sua carreira de Desenvolvedor PHP
Dicas para sua carreira de Desenvolvedor PHPDicas para sua carreira de Desenvolvedor PHP
Dicas para sua carreira de Desenvolvedor PHP
Douglas V. Pasqua
 
TDC2018SP | Trilha Arduino, Makers e Impressao 3D - Reconhecimento Facial com...
TDC2018SP | Trilha Arduino, Makers e Impressao 3D - Reconhecimento Facial com...TDC2018SP | Trilha Arduino, Makers e Impressao 3D - Reconhecimento Facial com...
TDC2018SP | Trilha Arduino, Makers e Impressao 3D - Reconhecimento Facial com...
tdc-globalcode
 
Refinamento e boas práticas de programação
Refinamento e boas práticas de programaçãoRefinamento e boas práticas de programação
Refinamento e boas práticas de programação
Aécio Costa
 
Teste de software
Teste de softwareTeste de software
Teste de software
Randerson Mayllon
 
Testando sua API com HTTParty e RSpec
Testando sua API com HTTParty e RSpecTestando sua API com HTTParty e RSpec
Testando sua API com HTTParty e RSpec
Deyvirson Mendonça
 
TDC POA 2016 - Robotium + Cucumber + Gradle, misture com spoon e tenha uma ex...
TDC POA 2016 - Robotium + Cucumber + Gradle, misture com spoon e tenha uma ex...TDC POA 2016 - Robotium + Cucumber + Gradle, misture com spoon e tenha uma ex...
TDC POA 2016 - Robotium + Cucumber + Gradle, misture com spoon e tenha uma ex...
João Clineu - CTFL, CSM, CSD
 
Qualidade em projetos PHP - SoLiSC 2011
Qualidade em projetos PHP - SoLiSC 2011Qualidade em projetos PHP - SoLiSC 2011
Qualidade em projetos PHP - SoLiSC 2011
Luís Cobucci
 
Qualidade em projetos PHP - PHPSC Conf 2011
Qualidade em projetos PHP - PHPSC Conf 2011Qualidade em projetos PHP - PHPSC Conf 2011
Qualidade em projetos PHP - PHPSC Conf 2011
Luís Cobucci
 
Phpforandroid
PhpforandroidPhpforandroid
Phpforandroid
Kinn Julião
 
php4android: desenvolva aplicações android em PHP
php4android: desenvolva aplicações android em PHPphp4android: desenvolva aplicações android em PHP
php4android: desenvolva aplicações android em PHP
Ramon Ribeiro Rabello
 
TDC2016POA | Trilha JavaScript - Porque eu deveria usar TypeScript?
TDC2016POA | Trilha JavaScript - Porque eu deveria usar TypeScript?TDC2016POA | Trilha JavaScript - Porque eu deveria usar TypeScript?
TDC2016POA | Trilha JavaScript - Porque eu deveria usar TypeScript?
tdc-globalcode
 
Javascript basics
Javascript basicsJavascript basics
Javascript basics
Ricardo Cavalcanti
 
Boas práticas técnica para um código limpo (Clean Code)
Boas práticas técnica para um código limpo (Clean Code)Boas práticas técnica para um código limpo (Clean Code)
Boas práticas técnica para um código limpo (Clean Code)
Rodrigo Kono
 
Dojo com Processing
Dojo com ProcessingDojo com Processing
Dojo com Processing
Luciano Ramalho
 
Abordagem Funcional para Gerenciamento de Erros em .NET
Abordagem Funcional para Gerenciamento de Erros em .NETAbordagem Funcional para Gerenciamento de Erros em .NET
Abordagem Funcional para Gerenciamento de Erros em .NET
Gabriel Schade Cardoso
 

Mais procurados (19)

pfa
pfapfa
pfa
 
Conheça Visual Studio IntelliCode e Visual Studio Live Share
Conheça Visual Studio IntelliCode e Visual Studio Live ShareConheça Visual Studio IntelliCode e Visual Studio Live Share
Conheça Visual Studio IntelliCode e Visual Studio Live Share
 
Porque eu deveria usar TypeScript?
Porque eu deveria usar TypeScript?Porque eu deveria usar TypeScript?
Porque eu deveria usar TypeScript?
 
Be React. Do Tests!
Be React. Do Tests!Be React. Do Tests!
Be React. Do Tests!
 
Dicas para sua carreira de Desenvolvedor PHP
Dicas para sua carreira de Desenvolvedor PHPDicas para sua carreira de Desenvolvedor PHP
Dicas para sua carreira de Desenvolvedor PHP
 
TDC2018SP | Trilha Arduino, Makers e Impressao 3D - Reconhecimento Facial com...
TDC2018SP | Trilha Arduino, Makers e Impressao 3D - Reconhecimento Facial com...TDC2018SP | Trilha Arduino, Makers e Impressao 3D - Reconhecimento Facial com...
TDC2018SP | Trilha Arduino, Makers e Impressao 3D - Reconhecimento Facial com...
 
Refinamento e boas práticas de programação
Refinamento e boas práticas de programaçãoRefinamento e boas práticas de programação
Refinamento e boas práticas de programação
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Testando sua API com HTTParty e RSpec
Testando sua API com HTTParty e RSpecTestando sua API com HTTParty e RSpec
Testando sua API com HTTParty e RSpec
 
TDC POA 2016 - Robotium + Cucumber + Gradle, misture com spoon e tenha uma ex...
TDC POA 2016 - Robotium + Cucumber + Gradle, misture com spoon e tenha uma ex...TDC POA 2016 - Robotium + Cucumber + Gradle, misture com spoon e tenha uma ex...
TDC POA 2016 - Robotium + Cucumber + Gradle, misture com spoon e tenha uma ex...
 
Qualidade em projetos PHP - SoLiSC 2011
Qualidade em projetos PHP - SoLiSC 2011Qualidade em projetos PHP - SoLiSC 2011
Qualidade em projetos PHP - SoLiSC 2011
 
Qualidade em projetos PHP - PHPSC Conf 2011
Qualidade em projetos PHP - PHPSC Conf 2011Qualidade em projetos PHP - PHPSC Conf 2011
Qualidade em projetos PHP - PHPSC Conf 2011
 
Phpforandroid
PhpforandroidPhpforandroid
Phpforandroid
 
php4android: desenvolva aplicações android em PHP
php4android: desenvolva aplicações android em PHPphp4android: desenvolva aplicações android em PHP
php4android: desenvolva aplicações android em PHP
 
TDC2016POA | Trilha JavaScript - Porque eu deveria usar TypeScript?
TDC2016POA | Trilha JavaScript - Porque eu deveria usar TypeScript?TDC2016POA | Trilha JavaScript - Porque eu deveria usar TypeScript?
TDC2016POA | Trilha JavaScript - Porque eu deveria usar TypeScript?
 
Javascript basics
Javascript basicsJavascript basics
Javascript basics
 
Boas práticas técnica para um código limpo (Clean Code)
Boas práticas técnica para um código limpo (Clean Code)Boas práticas técnica para um código limpo (Clean Code)
Boas práticas técnica para um código limpo (Clean Code)
 
Dojo com Processing
Dojo com ProcessingDojo com Processing
Dojo com Processing
 
Abordagem Funcional para Gerenciamento de Erros em .NET
Abordagem Funcional para Gerenciamento de Erros em .NETAbordagem Funcional para Gerenciamento de Erros em .NET
Abordagem Funcional para Gerenciamento de Erros em .NET
 

Destaque

Desenvolvimento de Malwares com C#
Desenvolvimento de Malwares com C# Desenvolvimento de Malwares com C#
Desenvolvimento de Malwares com C#
Erick Wendel
 
O GRUPO .NET CODERS - ERICK WENDEL
O GRUPO .NET CODERS - ERICK WENDELO GRUPO .NET CODERS - ERICK WENDEL
O GRUPO .NET CODERS - ERICK WENDEL
Erick Wendel
 
Mini Curso - WebScraping com C# - Erick Wendel
Mini Curso - WebScraping com C# - Erick WendelMini Curso - WebScraping com C# - Erick Wendel
Mini Curso - WebScraping com C# - Erick Wendel
Erick Wendel
 
Tecnologias cloud computing
Tecnologias cloud computingTecnologias cloud computing
Tecnologias cloud computing
Jéssica Nathany Carvalho Freitas
 
Como a Microsoft faz software: Desgerenciando Pessoas
Como a Microsoft faz software: Desgerenciando PessoasComo a Microsoft faz software: Desgerenciando Pessoas
Como a Microsoft faz software: Desgerenciando Pessoas
Marlon Luz
 
Palestra: LINQ via C#
Palestra: LINQ via C# Palestra: LINQ via C#
Palestra: LINQ via C#
Thiago Vidal
 
Redes I - Conceitos e Tecnologias
Redes I - Conceitos e TecnologiasRedes I - Conceitos e Tecnologias
Redes I - Conceitos e Tecnologias
Marcelo Charan
 
Estrutura de dados
Estrutura de dadosEstrutura de dados
Estrutura de dados
Fernando Palma
 
Estrutura de dados 2
Estrutura de dados 2Estrutura de dados 2
Estrutura de dados 2
Fernando Palma
 
Criar um sistema com asp net
Criar um sistema com asp netCriar um sistema com asp net
Criar um sistema com asp net
Anderson Wernek
 
Redes 1 - Sockets em C#
Redes 1 - Sockets em C#Redes 1 - Sockets em C#
Redes 1 - Sockets em C#
Marcelo Charan
 
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Daniel Makiyama
 
Estimar é crime?
Estimar é crime?Estimar é crime?
Estimar é crime?
Juliano Ribeiro
 
Programação Orientado a Objetos
Programação Orientado a ObjetosProgramação Orientado a Objetos
Programação Orientado a Objetos
Jéssica Nathany Carvalho Freitas
 
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
Daniel Makiyama
 
Estruturas de Dados em C#
Estruturas de Dados em C#Estruturas de Dados em C#
Estruturas de Dados em C#
Marcelo Charan
 
Crime Record Management System (CRMS)
Crime Record Management System (CRMS)Crime Record Management System (CRMS)
Crime Record Management System (CRMS)Zara Tariq
 
Principais diagramas da UML
Principais diagramas da UMLPrincipais diagramas da UML
Principais diagramas da UML
Jéssica Nathany Carvalho Freitas
 
ppt on e crime management system
ppt on e crime management systemppt on e crime management system
ppt on e crime management system
Krishna Kinkar Jha
 
Project Report On Online Crime Management Application
Project Report On Online Crime Management ApplicationProject Report On Online Crime Management Application
Project Report On Online Crime Management Application
satvirsandhu9
 

Destaque (20)

Desenvolvimento de Malwares com C#
Desenvolvimento de Malwares com C# Desenvolvimento de Malwares com C#
Desenvolvimento de Malwares com C#
 
O GRUPO .NET CODERS - ERICK WENDEL
O GRUPO .NET CODERS - ERICK WENDELO GRUPO .NET CODERS - ERICK WENDEL
O GRUPO .NET CODERS - ERICK WENDEL
 
Mini Curso - WebScraping com C# - Erick Wendel
Mini Curso - WebScraping com C# - Erick WendelMini Curso - WebScraping com C# - Erick Wendel
Mini Curso - WebScraping com C# - Erick Wendel
 
Tecnologias cloud computing
Tecnologias cloud computingTecnologias cloud computing
Tecnologias cloud computing
 
Como a Microsoft faz software: Desgerenciando Pessoas
Como a Microsoft faz software: Desgerenciando PessoasComo a Microsoft faz software: Desgerenciando Pessoas
Como a Microsoft faz software: Desgerenciando Pessoas
 
Palestra: LINQ via C#
Palestra: LINQ via C# Palestra: LINQ via C#
Palestra: LINQ via C#
 
Redes I - Conceitos e Tecnologias
Redes I - Conceitos e TecnologiasRedes I - Conceitos e Tecnologias
Redes I - Conceitos e Tecnologias
 
Estrutura de dados
Estrutura de dadosEstrutura de dados
Estrutura de dados
 
Estrutura de dados 2
Estrutura de dados 2Estrutura de dados 2
Estrutura de dados 2
 
Criar um sistema com asp net
Criar um sistema com asp netCriar um sistema com asp net
Criar um sistema com asp net
 
Redes 1 - Sockets em C#
Redes 1 - Sockets em C#Redes 1 - Sockets em C#
Redes 1 - Sockets em C#
 
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
 
Estimar é crime?
Estimar é crime?Estimar é crime?
Estimar é crime?
 
Programação Orientado a Objetos
Programação Orientado a ObjetosProgramação Orientado a Objetos
Programação Orientado a Objetos
 
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
 
Estruturas de Dados em C#
Estruturas de Dados em C#Estruturas de Dados em C#
Estruturas de Dados em C#
 
Crime Record Management System (CRMS)
Crime Record Management System (CRMS)Crime Record Management System (CRMS)
Crime Record Management System (CRMS)
 
Principais diagramas da UML
Principais diagramas da UMLPrincipais diagramas da UML
Principais diagramas da UML
 
ppt on e crime management system
ppt on e crime management systemppt on e crime management system
ppt on e crime management system
 
Project Report On Online Crime Management Application
Project Report On Online Crime Management ApplicationProject Report On Online Crime Management Application
Project Report On Online Crime Management Application
 

Semelhante a JS - Ferramentas Code Analysis e Fixed para JS - TDC2016

Desenvolvendo com Java Open Source
Desenvolvendo com Java Open SourceDesenvolvendo com Java Open Source
Desenvolvendo com Java Open Source
armeniocardoso
 
Kyrios: Infra-estrutura livre para desenvolvimento de software
Kyrios: Infra-estrutura livre para desenvolvimento de softwareKyrios: Infra-estrutura livre para desenvolvimento de software
Kyrios: Infra-estrutura livre para desenvolvimento de softwareFábio Nogueira de Lucena
 
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrõesMC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
Rodrigo Cândido da Silva
 
Gt 10 FCSI- ambiente de desenvolvimento
Gt 10  FCSI- ambiente de desenvolvimentoGt 10  FCSI- ambiente de desenvolvimento
Gt 10 FCSI- ambiente de desenvolvimento
Max_Antonelli
 
.NET Open Source
.NET Open Source.NET Open Source
.NET Open Source
Pedro Alves Jr.
 
Netbeans
NetbeansNetbeans
Netbeans
armeniocardoso
 
TDC2018SP | Trilha Arq .Net - Clean Architecture com .NET Core 2.0
TDC2018SP | Trilha Arq .Net - Clean Architecture com .NET Core 2.0TDC2018SP | Trilha Arq .Net - Clean Architecture com .NET Core 2.0
TDC2018SP | Trilha Arq .Net - Clean Architecture com .NET Core 2.0
tdc-globalcode
 
Arquitetura Limpa em .NET Core
Arquitetura Limpa em .NET CoreArquitetura Limpa em .NET Core
Arquitetura Limpa em .NET Core
Gabriel Schade Cardoso
 
Ferramentas Livres Para Desenvolvimento com PHP
Ferramentas Livres Para Desenvolvimento com PHPFerramentas Livres Para Desenvolvimento com PHP
Ferramentas Livres Para Desenvolvimento com PHP
Adler Medrado
 
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
Rafael Chaves
 
Web open source
Web open sourceWeb open source
Web open source
Carlos Maniero
 
Clean Architecture com .NET Core
Clean Architecture com .NET CoreClean Architecture com .NET Core
Clean Architecture com .NET Core
Gabriel Schade Cardoso
 
Chrome dev tools google io extended 2016
Chrome dev tools   google io extended 2016Chrome dev tools   google io extended 2016
Chrome dev tools google io extended 2016
Diego Melo
 
Automação de testes em projetos ágeis
Automação de testes em projetos ágeisAutomação de testes em projetos ágeis
Automação de testes em projetos ágeis
Cristiano Caetano
 
Netbeans Slides Fy2009 Portugues
Netbeans Slides Fy2009 PortuguesNetbeans Slides Fy2009 Portugues
Netbeans Slides Fy2009 PortuguesRodrigo Peleias
 
OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)
Ricardo Rufino
 
O que devo procurar em um code review
O que devo procurar em um code review O que devo procurar em um code review
O que devo procurar em um code review
Rodrigo de Souza Castro
 
Desenvolvendo para Android
Desenvolvendo para AndroidDesenvolvendo para Android
Desenvolvendo para Android
Claudio Pereira
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
tdc-globalcode
 

Semelhante a JS - Ferramentas Code Analysis e Fixed para JS - TDC2016 (20)

Desenvolvendo com Java Open Source
Desenvolvendo com Java Open SourceDesenvolvendo com Java Open Source
Desenvolvendo com Java Open Source
 
Kyrios: Infra-estrutura livre para desenvolvimento de software
Kyrios: Infra-estrutura livre para desenvolvimento de softwareKyrios: Infra-estrutura livre para desenvolvimento de software
Kyrios: Infra-estrutura livre para desenvolvimento de software
 
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrõesMC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
 
Gt 10 FCSI- ambiente de desenvolvimento
Gt 10  FCSI- ambiente de desenvolvimentoGt 10  FCSI- ambiente de desenvolvimento
Gt 10 FCSI- ambiente de desenvolvimento
 
.NET Open Source
.NET Open Source.NET Open Source
.NET Open Source
 
Netbeans
NetbeansNetbeans
Netbeans
 
TDC2018SP | Trilha Arq .Net - Clean Architecture com .NET Core 2.0
TDC2018SP | Trilha Arq .Net - Clean Architecture com .NET Core 2.0TDC2018SP | Trilha Arq .Net - Clean Architecture com .NET Core 2.0
TDC2018SP | Trilha Arq .Net - Clean Architecture com .NET Core 2.0
 
Arquitetura Limpa em .NET Core
Arquitetura Limpa em .NET CoreArquitetura Limpa em .NET Core
Arquitetura Limpa em .NET Core
 
Java e Software Livre
Java e Software LivreJava e Software Livre
Java e Software Livre
 
Ferramentas Livres Para Desenvolvimento com PHP
Ferramentas Livres Para Desenvolvimento com PHPFerramentas Livres Para Desenvolvimento com PHP
Ferramentas Livres Para Desenvolvimento com PHP
 
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
 
Web open source
Web open sourceWeb open source
Web open source
 
Clean Architecture com .NET Core
Clean Architecture com .NET CoreClean Architecture com .NET Core
Clean Architecture com .NET Core
 
Chrome dev tools google io extended 2016
Chrome dev tools   google io extended 2016Chrome dev tools   google io extended 2016
Chrome dev tools google io extended 2016
 
Automação de testes em projetos ágeis
Automação de testes em projetos ágeisAutomação de testes em projetos ágeis
Automação de testes em projetos ágeis
 
Netbeans Slides Fy2009 Portugues
Netbeans Slides Fy2009 PortuguesNetbeans Slides Fy2009 Portugues
Netbeans Slides Fy2009 Portugues
 
OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)
 
O que devo procurar em um code review
O que devo procurar em um code review O que devo procurar em um code review
O que devo procurar em um code review
 
Desenvolvendo para Android
Desenvolvendo para AndroidDesenvolvendo para Android
Desenvolvendo para Android
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
 

Mais de Erick Wendel

WTF are serverless apps ?
WTF are serverless apps ? WTF are serverless apps ?
WTF are serverless apps ?
Erick Wendel
 
Managing the flow of asynchronous operations in Node.js - SFNode
Managing the flow of asynchronous operations in Node.js - SFNodeManaging the flow of asynchronous operations in Node.js - SFNode
Managing the flow of asynchronous operations in Node.js - SFNode
Erick Wendel
 
Node.js, Observables e RxJs - Programação reativa no Backend! - FCTech
Node.js, Observables e RxJs - Programação reativa no Backend! - FCTechNode.js, Observables e RxJs - Programação reativa no Backend! - FCTech
Node.js, Observables e RxJs - Programação reativa no Backend! - FCTech
Erick Wendel
 
Usando Javascript para reconhecer pessoas - Hack Town 2018
Usando Javascript para reconhecer pessoas - Hack Town 2018Usando Javascript para reconhecer pessoas - Hack Town 2018
Usando Javascript para reconhecer pessoas - Hack Town 2018
Erick Wendel
 
Scaling your apps with Kubernetes and Docker - TheConf 2018
Scaling your apps with Kubernetes and Docker - TheConf 2018Scaling your apps with Kubernetes and Docker - TheConf 2018
Scaling your apps with Kubernetes and Docker - TheConf 2018
Erick Wendel
 
Palestra sobre Google Adwords
Palestra sobre Google AdwordsPalestra sobre Google Adwords
Palestra sobre Google Adwords
Erick Wendel
 

Mais de Erick Wendel (6)

WTF are serverless apps ?
WTF are serverless apps ? WTF are serverless apps ?
WTF are serverless apps ?
 
Managing the flow of asynchronous operations in Node.js - SFNode
Managing the flow of asynchronous operations in Node.js - SFNodeManaging the flow of asynchronous operations in Node.js - SFNode
Managing the flow of asynchronous operations in Node.js - SFNode
 
Node.js, Observables e RxJs - Programação reativa no Backend! - FCTech
Node.js, Observables e RxJs - Programação reativa no Backend! - FCTechNode.js, Observables e RxJs - Programação reativa no Backend! - FCTech
Node.js, Observables e RxJs - Programação reativa no Backend! - FCTech
 
Usando Javascript para reconhecer pessoas - Hack Town 2018
Usando Javascript para reconhecer pessoas - Hack Town 2018Usando Javascript para reconhecer pessoas - Hack Town 2018
Usando Javascript para reconhecer pessoas - Hack Town 2018
 
Scaling your apps with Kubernetes and Docker - TheConf 2018
Scaling your apps with Kubernetes and Docker - TheConf 2018Scaling your apps with Kubernetes and Docker - TheConf 2018
Scaling your apps with Kubernetes and Docker - TheConf 2018
 
Palestra sobre Google Adwords
Palestra sobre Google AdwordsPalestra sobre Google Adwords
Palestra sobre Google Adwords
 

JS - Ferramentas Code Analysis e Fixed para JS - TDC2016

  • 1. Globalcode – Open4education JavaScript – Ferramentas de Code Analysis e Code Fixed para JavaScript Charles Mendes de Macedo e Erick Wendel Gomes da Silva
  • 2. Globalcode – Open4education Agenda Introdução: Definições (Code Analysis, Code Fixed, Code Refactoring) Ferramentas: JSHint e JSLint JetBrains SonarLint JsAdvice Dúvidas?
  • 3. Globalcode – Open4education Definições: O que é Code Analysis (Source Code Analysis)? Analisador de código fonte que indicar possíveis erros ou melhorias. Realizando essa analise enquanto o código é escrito, sem precisar executa-la. Referências: Static Code Analysis (https://en.wikipedia.org/wiki/Static_program_analysis) List of Tools for Static Code Analysis (https://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis)
  • 4. Globalcode – Open4education Definições: O que é Code Fixed (fixes) / Code Quality? É um analisador de código que propõe sugestões de melhorias e correções de erros, tanto aparente como possíveis problemas no código. Referências: We know you aren’t fixing code quality issues (but you should) ( https://zeroturnaround.com/rebellabs/we-know-you-arent-fixing-code-quality-issues-but-you-should/) Assegurando a qualidade do seu código JavaScript (http://tableless.com.br/qualidade-codigo-javascript/)
  • 5. Globalcode – Open4education Definições: O que é uma ferramenta de Code Refactoring? Ferramenta que analisa o código fonte, que esta correto e não possui erros mas, pode conter code smells (Código Duplicado, Má utilização do “this”, Complexidade Ciclomática, Código temperamental, Acoplamento, etc) sugerindo a refatoração do código encontrado. Referências: JavaScript Code Smells (http://elijahmanor.com/javascript-smells/) Medindo a complexidade do seu código JavaScript ( http://tableless.com.br/medindo-a-complexidade-ciclomatica-do-seu-codigo-javascript/)
  • 6. Globalcode – Open4education Ferramentas: JsHint e JsLint (Sublime, VS Code, Eclipse, Visual Studio) Ferramenta inicialmente desenvolvida por Douglas Crockford, o criador do formato Json, e autor do livro “JavaScript: The Good Parts”. (Open Source) “JSHint é uma ferramenta voltada para a comunidade para detectar erros e potenciais problemas no código JavaScript e para impor convenções de codificação da sua equipe.” - Site da JSHint. Referências: http://jshint.com/about/ https://github.com/benquarmby/jslintnet (.Net) https://github.com/jshint/jshint
  • 9. Globalcode – Open4education Ferramentas: JetBrains A JetBrains é uma empresa especialista em ferramentas de Code Analysis, Code Fixed e Code Refactoring para várias linguagens (Java, PHP, Python, Ruby, etc) e agora em todas as ferramentas tem o analisador de JavaScript. ReSharper (Visual Studio 2005, 2008, 2010, 2012 e 2015) IntelliJ (Java) WebStorm (Node.Js) RubyMine (Ruby) PhpStorm (PHP) PyCharm (Python) Referências: https://www.jetbrains.com https://www.jetbrains.com/student/
  • 14. Globalcode – Open4education Ferramentas SonarLint Ferramenta ainda no inicio de code analysis para JavaScript. É uma das ferramenta da SonarQube (IDEs: Eclipse, IntelliJi IDEA e Visual Studio), que é uma plataforma de gestão de qualidade de código aberto. Referência: http://www.sonarqube.org/ http://www.sonarlint.org/ http://www.sonarlint.org/eclipse/rules/index.html#version=2.1.0&ruleId=S104&language=JavaScri pt
  • 15. Globalcode – Open4education Mais Ferramentas... JSAdvice Uma ferramenta analisadora de código JavaScript que sugeri possíveis erros no código ou melhorias. Inicialmente só esta disponível para o Visual Studio 2015. Mas, foi criada por brasileiro e é Open Source, aberto para receber contribuições. Referência: https://github.com/MackMendes/JsAdvice-Beta
  • 17. Globalcode – Open4education Obrigado! Contatos: Charles Mendes de Macedo: https://github.com/MackMendes (GitHub) @CharlesMendesMa (Twitter) Erick Wendel Gomes da Silva: https://github.com/ErickWendel (GitHub) erickwendel.com.br (blog)