Upload
francke-peixoto
View
1.286
Download
2
Embed Size (px)
DESCRIPTION
Apresentação sobre Javascript OO e boas práticas...
Citation preview
JavaScript
Boas práticas
Onde começam as boas práticas?
Cuma?
EM VOCÊ!
Boas práticas
Comigo, blz... Mas como?
Boas práticas
Pensando antes de fazer!!!!
Boas práticas
Hum....
DÁ MEDO, E
U SEI!!!
!
Boas práticas
DÁ MEDO, E
U SEI!!!
!
PARECE SER M
AIS D
IFIC
IL.
CONCO
RDIO!
Boas práticas
Seria bom evitar...
Evitar o uso de eval ou FunctionFunction e a função a eval são operações pesadas que usados em excesso pode complicar a vida do interpretador.
Suas chamadas são convertidas de código fonte para código executável.
lento
rápido
Seria bom evitar...
Evitar try-catch-, dentro de um laço de repetição Tratamento de exceção deve ser feito em um nível mais alto onde não ocorrem com freqüência.
lento
rápido
Seria bom evitar...
Evitar passar,uma função na forma de strings, para setTimeout () e setInterval ()
Se você passar uma string em setTimeout() ou setInterval() a string será avaliada da mesma forma que o eval() que é lento.
lento
rápido
Envolva seu código em uma função anônima. Assim o interpretado poderá executar sua instrução de forma mais rápida durante a “compilação”.
Seria bom evitar...
Sempre que puder, faça cache de valores variáveis
lento
rápido
Melhor maneira é para armazenar em cache o comprimento do array:
O comprimento do arr array é recalculado a cada vez que o loop repete.
Seria bom evitar...
Sempre que puder, faça cache de objetos DOM
lento
rápido
Seria bom evitar...
Remova referencias que não serão mais usadas.
Não muito legal
Mais legal
Seria bom evitar...
Evite pegar um formulário por getElementById
Se você passar uma string em setTimeout() ou setInterval() a string será avaliada da mesma forma que o eval() que é lento.
Existe várias formas de se pegar seus campos...
OO no
JavaScript!
Prototipagem
ClassesHerança
OO no
JavaScript!
Prototipagem
OO no
JavaScript!
Classes
OO no
JavaScript!
Herança
OO no
JavaScript!
Herança
Vamos po-pogramar juntos?
Vamos por a mão na massa para desenvolver um CRUD em Javascript.
Encapsular e expor somente o que realmente precisa ser exposto.
function Pessoa(){
var _pessoas = [], _cadastro = function(pessoa){ console.log(pessoa); _pessoas.push(pessoa);
},_remover =function(indice){ _pessoas.splice(indice,1);}
return { C: _cadastro, R: _pessoas, D: _remover};
}console.dir(p)
Como resolver problemas?
Como resolver problemas?
Entender o que esta sendo feito.
Como resolver problemas?
Entender o que esta sendo feito.
Pedir ajuda ao colega SEMPRE.
Como resolver problemas?
Entender o que esta sendo feito.
Pedir ajuda ao colega SEMPRE.
Evitar fazer pog!
Como resolver problemas?
Entender o que esta sendo feito.
Pedir ajuda ao colega SEMPRE.
Evitar fazer pog!
E quanto nada deu certo. >> go to GOOGLE.COM
Obrigado!Links legais:
http://www.mspc.eng.br/info/jscriptOper.shtml
http://imasters.com.br/artigo/21928/javascript/30-dicas-para-melhorar-o-desempenho-do-javascript
http://addyosmani.com/largescalejavascript/?utm_source=javascriptweekly&utm_medium=email#modtheory
http://www.developer.nokia.com/Community/Wiki/JavaScript_Performance_Best_Practices
http://homepage.mac.com/rue/JS_Optimization_Techniques/
http://www.milfont.org/tech/2008/01/05/heranca-no-javascript/