Eu sei que há muita controvérsia (talvez não polêmica, mas argumentos pelo menos) sobre qual convenção de nomenclatura é a melhor para JavaScript.
Como você nomeia suas variáveis, funções, objetos e tal?
Vou deixar meus próprios pensamentos sobre isso, já que não pratico JS há muito tempo (apenas alguns anos) e recebi uma solicitação para criar um documento com convenções de nomenclatura a serem usadas em nossos projetos no trabalho . Então, eu tenho procurado (google-ing) ao redor, e há tantas opiniões diferentes.
Os livros que li sobre JS também usam convenções de nomenclatura diferentes, mas todos concordam um pouco: "Encontre o que mais lhe convém e atenha-se a isso". Mas agora que li muito, descobri que gosto de alguns dos outros métodos um pouco melhor do que estou acostumado agora.
fonte
Respostas:
Eu sigo convenções de código de Douglas Crockford para JavaScript. Eu também uso sua ferramenta JSLint para validar seguindo essas convenções.
fonte
ECBhandle
vs.ecbHandle
( não importa o que significa BCE).Como Geoff diz, o que Crockford diz é bom.
A única exceção que sigo (e já vi amplamente usada) é usar $ varname para indicar um objeto jQuery (ou qualquer biblioteca). Por exemplo
var footer = document.getElementById('footer');
var $footer = $('#footer');
fonte
Você pode seguir este Guia de estilo do Google JavaScript
Em geral, use functionNamesLikeThis, variableNamesLikeThis, ClassNamesLikeThis, EnumNamesLikeThis, methodNamesLikeThis e SYMBOLIC_CONSTANTS_LIKE_THIS.
EDIT: Veja uma bela coleção de Guias e Embelezadores de Estilo JavaScript .
fonte
_fooBar
eles fazemfooBar_
- Microsoft tem razão: asp.net/ajaxlibrary/act_contribute_codingStandards.ashx_
ao fazer referência a vars particulares resultaria no intellisense imediatamente limitando os resultados; no final, pensei que fosse uma preferência pessoal.Uma convenção que eu gostaria de experimentar é nomear módulos estáticos com um prefixo 'the'. Veja isso. Quando uso o módulo de outra pessoa, não é fácil ver como devo usá-lo. por exemplo:
Estou pensando em tentar uma convenção em que os módulos estáticos usem 'the' para indicar sua pré-existência. Alguém viu uma maneira melhor do que isso? Ficaria assim:
fonte
Eu acho que além de algumas limitações de sintaxe; o raciocínio das convenções de nomenclatura é muito independente da linguagem. Quero dizer, os argumentos a favor de c_style_functions e JavaLikeCamelCase poderiam igualmente ser usados da maneira oposta, é apenas que os usuários da linguagem tendem a seguir os autores da linguagem.
Dito isto, acho que a maioria das bibliotecas costuma seguir uma simplificação do CamelCase do Java. Encontro conselhos de Douglas Crockford de bom gosto para mim.
fonte
Essa é uma pergunta individual que pode depender de como você está trabalhando. Algumas pessoas gostam de colocar o tipo de variável no início da variável, como "str_message". E algumas pessoas gostam de usar sublinhado entre suas palavras ("minha_mensagem"), enquanto outras gostam de separá-las com letras maiúsculas ("minhaMessagem").
Costumo trabalhar com grandes bibliotecas JavaScript com outras pessoas, portanto, funções e variáveis (exceto as variáveis privadas dentro das funções) começaram com o nome do serviço para evitar conflitos, como "guestbook_message".
Em resumo: nomes de variáveis e funções em minúsculas e bem organizadas em inglês são preferíveis, de acordo comigo. Os nomes devem descrever sua existência em vez de serem curtos.
fonte