ferramentas code analysis e fixed para javascript - tdc2016
TRANSCRIPT
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=JavaScript
Globalcode – Open4education
Mais Ferramentas...
JSAdvice Uma ferramenta analisadora de código JavaScript que aconselha melhorias no
código, enquanto está sendo escrito. Inicialmente só esta disponível para o
Visual Studio 2015 (extensão). Mas, foi criada por brasileiro e é Open Source,
aberto para receber contribuições.
Referência:
https://github.com/MackMendes/JsAdvice-Beta
Globalcode – Open4education
Mais Ferramentas...
JSAdvice (Code Analysis/Fixed iniciais...)
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)