sugestões de ferramentas se você esta usando seriamente javascript e node.js

eu li este post algum tempo atrás. ele fala sobre algumas ferramentas para serem usadas com javascript e node.js. algumas eu uso e considero importantes. algumas eu ainda não uso, mas deveria estar usando. outras são legais e vou usar algum dia.

ele também fala sobre algumas dificuldades, como dependências, e algumas coisas que devem ser evitadas

se você está usando javascript e node.js seriamente, eu sugiro que você leia o post e veja se acha alguma coisa interessante para adicionar a sua caixa de ferramentas.

minha ordem de prioridade na lista dele:

  1. mocha
  2. zombie
  3. coffeescript
  4. jshint/jslint

toString() ou +”" para converter número para string em javascript

em um outro post falei sobre a conversão “automática” de um número para string em uma concatenação em javascript.

este recurso é usado por alguns desenvolvedores para fazer a conversão para string.

var number = 897;
var numberToString = number + "";
> "897" #entre aspas em um debug para indicar que é uma string

eu não gosto deste uso mesmo que o resultado seja o desejado. o javascript oferece o método toString. e eu prefiro utilizar este método ao invés de utilizar +”".

var number = 897;
var numberToString = number.toString();
> "897" #entre aspas em um debug para indicar que é uma string

o motivo de preferir utilizar o método toString em vez de + “” é a legibilidade do código (“readability”). a concatenação com uma string vazia “” pode gerar dúvidas em um outro desenvolvedor lendo o código. esta concatenação não é totalmente clara que o objetivo é apenas uma conversão para string. acredito que o uso do método toString deixa este objetivo bem claro para os leitores do código.

dave thomas explicando o que ele pensar ser um bom código (clean code) no primeiro capítulo do livro  “Clean code” diz:

“Clean code can be read, and enhanced by a developer other than its original author…”

resposta:faz diferença em javascript? ’6′ + 7 + 8 ou 6 + 7 + ’8′? concatenação de string e número

semana passada postei uma pergunta sobre a diferença do resultado de ’6′+ 7 + 8 ou 6 + 7 + ’8′ em javascript. a concatenação de string e número em javascript pode se tornar uma “pegadinha” em alguns casos.

provavelmente você sabe que números são convertidos em string em uma concatenação. isto é um recurso bem interessante. entretanto, é importante entender como esta conversão funciona para evitar resultados inesperados.

a conversão ocorre apenas no momento em que a primeira string é adicionada.  Então:

'6' + 7 + 8
> 678

enquanto:

6 + 7 + '8'
> 138

outro ponto interessante é que isto não acontece com outras operações matematicas.

'6' + 3*3 + '7'
> 697

ou:

'6' + 3-3 + '7'
> 607

javascript é mais poderoso do que você imagina! você “realmente” sabia?

a primeira vez que escrevi uma linha em javascript foi entre 1998 e 1999 (isso mesmo..sou velho… :) ) posso te garantir que a vida não era fácil naquela época. muitos desenvolvedores criaram aversão a javascript. ficaram felizes quando surgiram novas soluções para a web que permitiam que desenvolvêssemos websites sem tocar em uma linha de javascript. e concordo com a declaração de que o javascript é uma das linguagens mais “mal-entendidas”, eu diria sub-estimadas.

o cenário mudou nos últimos anos. “web 2.0″, site interativos, ajax e outros. termos batidos que fizeram os desenvolvedores olharem novamente para o javascript. mesmo entre desenvolvedores .net, vemos o javascript ser mencionado, usado e algumas vezes defendido. mas, como acontece com vários frameworks, linguagens e ferramentas, alguns “desenvolvedores” começam a usar e defender e a dizer “é bom para caramba”, mas não conhecem a fundo o que estão usando. estão apenas seguindo a moda.

como mencionei, o javascript é uma das linguagens mais sub-estimadas. podemos fazer muito com ela. mais do que simplesmente ter controle sobre o DOM. e já que decidimos usar o javascript, seria legal conhecer todo este potencial. e não precisa estudar muito para pelo menos ter uma boa noção básica.

o que tenho visto é falarem que coffeescript é legal, “usem coffeescript”, “faço o que eu quero com coffeescript”, mas não conhece javascript. não estou falando sobre saber escrever uma função em javascript e também em coffeescript. estou falando sobre saber o que é uma função. sobre saber qual a diferença entre  “3″ + 4 + 5  e  3+ 4 + “5″.

tenho estudado bastante javascript e seus muitos frameworks nos últimos tempos. e tenho gostado do que tenho visto. tenho usado coffeescript e realmente acho que ajuda e faz diferença.  mas, preciso conhecer javascript se quero escrever uma bom código em javascript, seja usando um framework ou não.

vamos usar mais javascript, coffeescript, node.js e qualquer outro .js. mas vamos conhecer bem o que estamos usando…para escrever um bom código em c# ou em javascript.