domenica 23 novembre 2014

coffeescript, alla fine anche le tonde pesano

Coffeescript quasi sempre non ha bisogno di parentesi, tonde, quadrate o graffe.
Non ci si deve preoccupare rispetto a javascript di chiudere nei posti giusti le parentesi graffe dei blocchi, che possono essere lunghi, indentati e quindi spesso la loro chiusura è abbastanza distante dall'apertura.
Se togliere le parentesi tonde negli argomenti delle funzioni può far sembrare il codice meno chiaro, scrivendo codice asincrono di nodejs si impara invece ad apprezzare questa caratteristica.
La riga
fs.readFile '/foo.txt', callback
può sembrare meno chiara rispetto a
fs.readFile('/foo.txt', callback)
Ma questa "callback" è una funzione che spesso viene definita (in modo anonimo) proprio quando viene chiamata, e quindi in javascript sarebbe qualcosa del tipo:
fs.readFile('/foo.txt', function(err, data) {
  console.log(data);
});
la parentesi tonda di chiusura degli argomenti di readFile se ne va quindi alla fine del codice.
In coffeescript se vogliamo mantenere le tonde degli argomenti, diventa:
fs.readFile('/foo.txt', (err, data) ->
  console.log(data)
)
Rimarrebbe quindi la parentesi tonda di chiusura, della quale, sinceramente, si inizia presto a non sentirne la mancanza.
Il codice può quindi essere meglio scritto come:
fs.readFile '/foo.txt', (err, data) ->
  console.log data
decisamente piu' pulito.

Nessun commento:

Posta un commento