Palestra que ocorreu no nosso #10 workshop que foi realizado pelo nosso amigo Carlos Gomes (https://br.linkedin.com/in/carlosalgms) nesse encontro ele abordou sobre Clean Code, Angular e Mockup utilizando o MaterialAngular.
Carlos A. Gomes Desenvolvedor Front-end - Atuando em TI desde 2005 Cursando Análise e Desenvolvimento de sistemas - UNIP c.a.gomes @carlos_algms https://br.linkedin.com/in/carlosalgms https://github.com/carlos-algms
Clean Code ➢ ‘use strict’ 'use strict'; x = 3; // Erro de variável não definida function calcular(a, a) { // parâmetros com nome duplicado .... } var eval = 123; // eval é uma palavra protegida
Clean Code ➢ Funções devem ser usadas primeiro, depois criadas 'use strict'; var media = calcularMedia( 5, 10, 30 ); var diferencaDias = calcularDiferencaDias( dataInicio, dataFim ); var pessoa = new Pessoa(); //////////////// function calcularMedia() { ........... } function calcularDiferencaDias() { ............. } function Pessoa() { ............... }
Clean Code ➢ Pensar na memória, na performance e na bateria $(function () { var canvasContext; resizeCanvas(); $(window).resize(function () { resizeCanvas(); }); function resizeCanvas() { var w = window.innerWidth / 1.2; var h = window.innerHeight / 1.2; var canvasString = ''; $('#contentHolder').empty(); $(canvasString).appendTo('#contentHolder'); canvasContext = $('#mainCanvas').get(0).getContext(); $('#mainCanvas').bind('tap', function (event) { ..... }); } });
Iniciando projeto $ npm init Responda as perguntas, ao final digite yes e dê o enter. As configurações de seu projeto são armazenadas no arquivo: package.json
Depencies X DevDependencies Dependencies: ● São pacotes que serão instalados junto com o seu projeto quando o mesmo for instalado para uso. DevDependencies: ● São pacotes que só são instalados durante o desenvolvimento. ● Necessitam ser exportados ou concatenados e minificados para ficarem disponíveis em produção.
AngularJS - Services São dado que podem ser compartilhados entre os diversos ambientes do angular. Podem ser: ● Objetos ● Arrays ● Funções São todos singleton O Angular provê vários serviços para agilizar o desenvolvimento
AngularJS - Directive Manipulação de DOM dentro do angular. ● Componentes ○ injetam mais nodes no DOM e pode ou não adicionar comportamento ● Decorativas ○ Adicionam comportamento aos nodes ( click, hover, animaçõe ) e/ou estilos
AngularJS - Controllers Controlam em mantem os dados e métodos ● expõem dados para os views html ● mantem os dado do form antes de enviar ao backend ( Model ) ● expõem funções e métodos para os views ( click, submit, etc)
Promises Implementada no ES6 (vulgo ECMAScript 2015) Utilizadas para processamentos que necessitam serem resolvidos ou rejeitados Sempre será assíncrono
Q KRIS KOWAL https://about.me/kriskowal O único nome de desenvolvedor citado na documentação do angular A General Theory of Reactivity https://github.com/kriskowal/gtor Singular e Espacial, Plural e Temporal
Mocks “ Objetos Mock, objetos simulado ou simplesmente Mock (do inglês Mock object) em desenvolvimento de software são objetos que simulam o comportamento de objetos reais de forma controlada. São normalmente criados para testar o comportamento de outros objetos. Em outras palavras, os objetos mock são objetos “falsos” que simulam o comportamento de uma classe ou objeto “real” para que possamos focar o teste na unidade a ser testada. Fonte: Wikipédia
Mock - Vantagens ● Desenvolvimento independente de back-end ● Velocidade de resposta instantânea ● Foco no resultado ● Força uma maior comunicação entre o front-end e - back-end ● Obrigatório teste de integração