O Visual Studio, além de ser uma IDE mega pesada, tem um problema que gera intrigas entre equipes: ele abre por padrão uma função no JavaScript colocando a chave na linha de baixo.
Parece algo mínimo, mas irrita profundamente quem está acostumado a trabalhar da forma correta.
Porque forma correta? Simples, porque pode dar erro se colocar a chave na linha de baixo.
Pensem na função abaixo getUser que retorna um objeto em JavaScript
function getUser(){ return { nome:'Danilo', idade:28 } } getUser() // retorna um objeto
Se fosse pra deixar a chave embaixo, ficaria assim:
function getUser() { return { nome:'Danilo', idade:28 } } getUser() // retorna undefined
Só que há um problema: pelo fato do ponto e vírgula indicando quebra de linha ser no JavaScript ser opcional, o return não entende que é pra retornar um objeto e encerra a função ali, retornando undefined.
E tem um caso pior, que simplesmente dá erro de sintaxe:
function getPosition() { return { top:32, left:50 } } // dá erro "SyntaxError: Unexpected token :"
E se fosse feito com os braces na linha de cima, daria certo.
O incrível é que mesmo com esse argumento, tem programador que não dá o braço a torcer e insiste dizendo que JavaScript veio do java e no java se programa assim. ERRADO, JavaScript veio de Scheme e qualquer livro de Padrões em Javascript vai aconselhar abrir o bloco com a chave na linha de cima.
Dá pra configurar isso no Visual Studio 2010 (no 2008 deve dar também).