2. Tópicos sugeridos:
(Clique no tópico para acessá-lo)
Pirâmide de acidentes e estatística Chemtech 2010-2011
Principais fontes de acidentes na Chemtech e formas de prevenção
Acesso as apresentações dos Diálogos Semanais de Segurança
Histórico de Acidentes na Chemtech
Acidentes nas instalações de nossos clientes
Rotas de fuga
3. Tudo que você não sabia que
queria saber sobre Javascript
14. Espaçamento
De tudo ao meu amor serei atento
Antes, e com tal zelo, e sempre, e tanto
Que mesmo em face do maior encanto
Dele se encante mais meu pensamento.
Quero vivê-lo em cada vão momento
E em seu louvor hei de espalhar meu canto
E rir meu riso e derramar meu pranto
Ao seu pesar ou seu contentamento
E assim, quando mais tarde me procure
Quem sabe a morte, angústia de quem vive
Quem sabe a solidão, fim de quem ama
Eu possa me dizer do amor (que tive):
Que não seja imortal, posto que é chama
Mas que seja infinito enquanto dure.
DetudoaomeuamorsereiatentoAntes,ecomt
alzelo,esempre,etantoQuemesmoemfaced
omaiorencantoDeleseencantemaismeupen
samento.Querovivêloemcadavãomomento
EemseulouvorheideespalharmeucantoErir
meurisoederramarmeuprantoAoseupesaro
useucontentamentoEassim,quandomaistar
demeprocureQuemsabeamorte,angústiade
quemviveQuemsabeasolidão,fimdequema
maEupossamedizerdoamor(quetive):Quen
ãosejaimortal,postoqueéchamaMasquesej
ainfinitoenquantodure.
15. // Não
var baskara=function(a,b,c){
var delta=Math.pow(b,2)-4*a*c,
calcularRaiz=function(multiplicador){
return(-b+multiplicador*Math.sqrt(delta))/(2*a);
},
raiz1=calcularRaiz(1),
raiz2=calcularRaiz(-1);
return [raiz1, raiz2];
};
// Sim
var baskara = function (a, b, c) {
var delta = Math.pow(b, 2) - 4 * a * c,
calcularRaiz = function (multiplicador) {
return (-b + multiplicador * Math.sqrt(delta)) / (2 * a);
},
raiz1 = calcularRaiz(1),
raiz2 = calcularRaiz(-1);
return [raiz1, raiz2];
};
18. Bons nomes
• Você daria o nome “a” ou “fn” ao seu filho?
• Nomes devem ser claros e facilitar a
compreensão do significado do item
– quantidadeDeItens
– calcularBalancoMensal()
– Exceções: controle de loops (i, j) ou
parâmetros matemáticos (x, y)
• Evite abreviações
– Exceções: id, num, qtd
19. Dica do Tercete #5
Dê bons nomes aos seus
itens, e saberá como chamá-
los quando precisar.
20. Só um var
// Não
var idsDosItens = [1, 2, 4];
var idDoItemSelecionado = 2;
var itemEstaPresenteNaLista = function (lista, item) {
return $.inArray(item, lista) > 0;
};
// Sim
var idsDosItens = [1, 2, 4],
idDoItemSelecionado = 2,
itemEstaPresenteNaLista = function (lista, item) {
return $.inArray(item, lista) > 0;
};
28. Namespaces
var A = {
funcao1: function () {
},
funcao2: function () {
}
};
var B = {
funcao1: function () {
},
funcao3: function () {
}
};
var C = {
funcao4: function () {
A.funcao1();
B.funcao3();
}
};
A.js B.js
C.js
29. Namespaces
• Vantagens
– Organiza o código
– Permite funções e variáveis com o mesmo
nome em diferentes namespaces
• Desvantagens
– Não permite membros privados
– É necessário especificar todo o “caminho”
para outro membro no mesmo namespace
30. Revealing Module Pattern
var Projeto = Projeto || {};
Projeto.modulo = (function () {
var variavelPrivada = 3,
funcaoPrivada = function (parametro) {
return parametro * 2;
},
funcaoQueSeraPublica = function (parametro) {
return funcaoPrivada(parametro) + variavelPrivada;
};
return {
funcao: funcaoQueSeraPublica
};
}());
alert(Projeto.modulo.funcao(1)); // 5
http://jsfiddle.net/alextercete/35y6z/
31. Revealing Module Pattern
• Vantagens
– Permite membros privados
– Acesso direto a outros membros do
mesmo namespace
– Auto-completar do Visual Studio funciona
• Desvantagens
– É necessário utilizar uma ferramenta para
juntar os arquivos em um só
32. Um <script /> por .html
var Projeto = Projeto || {};
Projeto.modulo = (function ($) {
var config = {
umaConfiguracao: 0,
outraConfiguracao: 2
},
init = function (parametros) {
$.extend(config, parametros.config);
};
return {
config: config,
init: init
};
}(jQuery));
arquivo.js