Pergunta

Temos um CMS construído no Java e possui Mozilla Rhino para o JS do lado do servidor. No momento, a base do código JS é pequena, mas cresce. Antes de ser tarde demais e o código se tornou uma bagunça horrível, quero apresentar algumas práticas recomendadas e estilo de codificação.

Obviamente, o controle do espaço do nome é muito importante. Mas e as outras práticas recomendadas - especialmente para programadores Java?

Foi útil?

Solução

Aqui estão algumas dicas das linhas de frente:

  • Como Java, use docblocks no estilo doxygen/jsdoc para funções
  • Teste de unidade. Pessoalmente, como o JstestDriver, pois também pode ser executado automaticamente do servidor CI.
  • Use JSLint. Vai dar um pouco sobre o código ruim
  • Considere usar o compilador de fechamento do Google. Ele vai entender o código como o JSLINT, mas pode ser útil para detectar blocos de documentos ruins etc.
  • Certifique -se de que todos em sua equipe entendam como o fechamento funciona. Caso contrário, isso levará a dores de cabeça
  • Como você menciona, os namespaces são importantes, especialmente se você deseja que seu código funcione bem com outras bibliotecas JS (var myns = myns || {};)
  • Pessoalmente, acho o uso de uma biblioteca que fornece ajudantes de OOP, como aulas etc. Você pode usar a herança prototípica, mas geralmente é um pouco mais complicado dessa maneira.

Outras dicas

Eu olha para Commonjs (anteriormente servidorjs). É um trabalho em andamento, mas eles têm um sistema de módulos padronizado com várias implementações. Já existem algumas bibliotecas úteis escritas para as especificações Commonjs, como Narwhal.

Como Douglas Crockford gosta de dizer, JavaScript é a linguagem de programação mais incompreendida do mundo. Embora muitas pessoas não saibam, existe um certo Maneira de codificar em JavaScript. Não tenho dúvidas de que, se você permitir que os desenvolvedores Java comecem a codificar antes de entender como escrever um bom javascript, terá problemas sérios.

A primeira coisa a fazer seria garantir que todos tenham lido o excelente artigo de Mozilla, uma reintrodução para JavaScript (https://developer.mozilla.org/en/a_re-introduction_to_javascript). Um dos maiores problemas com o JavaScript é que existem muitas maneiras de realizar tarefas mais comuns, e este artigo deve levar as pessoas na mesma página. Outra referência essencial é o trabalho de Douglas Crockford, incluindo JavaScript: The Good Parts.

Outra coisa que recebe muitos programadores Java/C ++ é que o JavaScript usa função escopo não bloqueio de escopo. Isso pode causar alguns problemas muito complicados. Há um ótimo artigo sobre esse problema em uma lista chamada Binding in JavaScript.


Para resumir as principais questões discutidas nos recursos acima, as diferenças mais cruciais para aprender são

  • Como escrever código orientado a objetos usando herança prototípica (herança baseada em vs.classe)
  • Como usar fechamentos e lambdas
  • Como utilizar o poder dos objetos dinâmicos
  • Como escrever código escopo de funções

Como você tem um mecanismo JS em Java, crie o hábito de escrever testes de unidade para o seu código JS. Selecione um estilo de codificação e aplique -o vigorosamente. Se possível, use ferramentas para verificar se o código é submetido ao estilo de codificação.

Abaixo estão alguns links que podem ajudá -lo:

Melhores práticas de JavaScript

Javascript Best Practicics PDF Arquivo

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top