JSConf.ar 2012 | Mi resumen

JSConf.ar

Bueno, terminado este genial evento, este es mi (opinionado) resumen. Read more



Splat operator en JavaScript

Introducción

Dentro de las numerosas “mejoras” que provee CoffeeScript con respecto a JavaScript plano, podemos mencionar el operador `splat` (nombre que toma de Ruby) también conocido como `spread`, que básicamente permite agrupar los argumentos que excedan los declarados en la firma del método/función en un único argumento en forma de lista (un array en JavaScript, para ser más preciso). Read more



Namespaces en JavaScript, versión Ecma-262 5

Hace ya un tiempo, publiqué este pequeño snippet de código para generar namespaces desde strings:

function namespace(path, root) {
    // valor por defecto
    root = root || this;

    var
        parts = path.split("."),
        l = parts.length,
        leaf;

    for(i = 0; i < l; i++) {
        leaf = parts[i];

        if(!root[leaf]) {
            root[leaf] = {};
        }

        root = root[leaf]
    }

    return root;
}

Refactor mediante, dicho snippet se puede reducir en gran manera gracias al fabuloso método Array#reduce:

function namespace(path, root) {
	return path.split('.').reduce(function(memo, current) {
		return memo[current] || (memo[current] = {});
	}, root || this);
};

El caso de uso es similar al snippet anterior:

namespace('foo');
foo; // Object {}

// El ultimo eslabon esta disponible
namespace('foo.bar.baz.bax').value = 1;
foo.bar.baz.bax.value; // 1

Obviamente (y como el título indica), este snippet es válido para todas los entornos que implementen Ecma-262 en su versión 5 o posterior (esto excluye a IE < 9).



JSConf.ar

JSConf.ar

Gracias a la organización de Guillermo Rauch (learnboost.com, Socket.io, Express, etc), el 19 y 20 del mes de mayo tendremos entre nosotros la JSConf.ar. Esta conferencia (como bien se puede adivinar) tendrá charlas relacionadas a JavaScript y todo su entorno inmediato (HTML5, node.js, mobile, etc). Read more



Midiendo la calidad de código: WTFs/m

WTFs/mVisto en Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin)