E ai galera, estou de volta das férias um pouco mais animado e e falido que antes
.
Como havia prometido no post Saindo de Férias, sem pânico, eu já volto estou começando uma série de posts dedicados aos iniciantes em ExtJS e também aos iniciantes em JavaScript e quem sabe alguns posts sobre PHP, SQL, Linux, etc… Queria pedir a todos que acompanham este blog que deem suas opiniões nos comentários, sugestões a respeito do blog e principalmente sugestões de conteúdos que deveriam ser abordados.
Visão geral do problema
Vírgulas são um problema real e constante no ExtJS, digo ExtJS pelo fato de usarmos muitos objetos, sendo objetos físicos ou objetos anônimos como passagem de configurações mas vale para qualquer biblioteca JavaScript ou a programação pura em JavaScript.
Linguagem interpretada
Como todos sabem, ou pelo menos deveriam saber, o nosso amado JS é uma linguagem que é interpretada na hora da execução e o pior de tudo, ela é interpretada por vários motores diferentes e cada browser pode trata-la de forma diferente.
Formato do Objeto em JS
Um objeto em JavaScript segue a simples lógica de pares de valores separados por virgular entre colchetes, cada par de valor é formado por um nome de propriedade e um valor separados por dois pontos (:), ou seja:
{prop1:val1, prop2:val2, prop3:val3}
Aprendermos com o passar do tempo que temos de formatar nosso código para um melhor intendimento e esse processo chamamos de itentação, vamos a um exemplo:
{
prop1:val1,
prop2:val2,
prop3:val3
}
Ótimo, agora temos um objeto um pouco mais organizado, o problema agora é que fica fácil adicionar uma nova propriedade ou até mesmo retirar ou comentar uma destas e essa facilidade nos remete ao erro, exemplo:
- Adicionando – Note que a penúltima propriedade fica sem a virgula no final por um leve esquecimento do programador
{
prop1:val1,
prop2:val2,
prop3:val3 // <== Erro
prop4:val4 // <== Vai dar pau aqui, pq? pq pro navegador deveria ter
// acabado no item anterior ou seja o cara errado é esse último item.
}
- Removendo – Note que a última propriedade contém uma virgula no final também por um leve esquecimento do programador
{
prop1:val1,
prop2:val2, // <== Pro navegador isso indica que deveria ter mais
// propriedades depois destao que não é verdade, alguns
// navegadores aceitam isso numa boa, mas o IE não é um
// desses caras legais.
}
- Comentando – Note que acabamos por ter o mesmo erro do item anterior
{
prop1:val1,
prop2:val2,
//prop3:val3
}
Solução
Bom, tenho certeza que você que leu até aqui acredita que possa existir uma solução para esse problema, bom, sinto lhe dizer que não, não tem.
Algumas pessoas passaram a usar a virgula antes das propriedades de modo a não esquece-las, tudo bem, ajuda, mas não resolve, continuamos tendo os mesmo problemas, antes tínhamos problemas com a última propriedade agora temos problemas com a primeira:
- Adicionando – Note que a última propriedade fica sem a virgula antes, mas com certeza é muito mais difícil esquecer neste caso do que no caso anterior
{
prop1:val1
,prop2:val2
,prop3:val3
prop4:val4 // <== Aqui o programador tem que ter um sério problema de
// esquecimento.
}
- Removendo – Aqui se deletarmos o primeiro item e esquecermos de tirar a virgula do segundo temos um sério problema
{
,prop2:val2 // <== É como se tivéssemos um item vazio antes destes 2 e isso gera erro
,prop3:val3 // em qualquer navegador, pior que o erro do estudo anterior.
}
- Comentando – Note que acabamos por ter o mesmo erro do item anterior
{
//prop1:val1
,prop2:val2
,prop3:val3
}
Conclusão
Usar a virgula na frente das propriedades de um objeto é sim uma boa prática mas ela só adianta quando temos um código bem identado e garanto que não livra ninguém dos erros com vírgulas, essa metodologia nos ajuda na hora de adicionar propriedades e comentar propriedades, mas temos que tomar muito cuidado com a primeira propriedade.
Em resumo, eu uso a virgula depois das propriedades, é questão de gosto, o importante é saber como procurar os erros e estar ciente de que o erro pode ser uma simples vírgula, escolha a metodologia que melhor lhe agrade, use o firebug, persista na procura do erro e tudo dará certo.
Um programador tem que ser 33% bom em programação e 67% bom em achar erros. É errando que se aprende.
Twittar Isto!
