Saltar al contenido

Guía de estilo para Javascript

javascript
Etiquetas:
javascript

javascript

Tengo que confesar que estaba deseando encontrar una guía de estilo para programar en Javascript, al igual que hace Python (y de la que ya os conté en este blog).

Mis progresos con Python gracias a la guía de estilo

Primero quiero hablar de mi experiencia en Python, y es que seguir la guía me ha aportado escribir código muy limpio, pensar un poco cómo hay que escribir código, y sobre todo, que en un futuro sea también legible. En este sentido, es vital el nombramiento de variables, siempre en minúsculas.

Supongo que en otros lenguajes existe también esta guía de estilo, pero hasta que conocí Python, nunca había puesto interés en este sentido. Ahora, debería arrepentirme de eso, pero …. más vale tarde que nunca!!

Guía de estilo para Javascript

La guía de estilo para Javascript que estoy siguiendo es la que ha publicado una startup muy famosa, AirBnB, y que está disponible en su cuenta de GitHub: https://github.com/airbnb/javascript/. La traducción en español la tienes aquí: https://github.com/paolocarrasco/javascript-style-guide. No es la única guía existente, y también he conocido la de Google, aquí, e incluso la de jQuery.

El listado es largo, y va desde lo básico (tipos de datos) a lo más complejo como eventos, módulos, o jQuery. Leerlo completo te llevará algún tiempo, y ponerlo en práctica aun más.

De la lectura de los primeros contenidos, me resulta muy atractivo que, a pesar de que Javascript es un lenguaje especial, la guía sí es muy pythonica, y gran parte de las recomendaciones son muy similares a las aplicadas a Python. Conforme se avanza en la guía, ésta se centra en la particularidades de Javascript. Sobre la convención sobre el nombre de las variables, se usa el estilo de Pascal (no el de Python).

Personalmente, esta guía facilita mucho mi visión sobre Javascript, y fuerza a que los desarrolladores tengan un estilo, definido, por el bien común. Para los que empiezan con Javascript, conocer los distintos patrones supone todo un desafío porque resulta poco comprensible que la misma cosa pueda ser escrita hasta de 4 o 5 formas diferentes, y claro …. esto no ayuda a comprender el lenguaje. Tampoco lo hace el hecho de usar Prototype ( a mi me parece que es como … algo oculto, palabras mayores, … complejidad extra), para incrementar la funcionalidad.

También tienen publicada la guía de estilo para ES6, que es la nueva versión del motor de Javascript.

Qué echo de menos en Javascript respecto a Python

Con independencia de la guía que tomes de referencia, una de las cosas que más me gusta de Python es la forma de crear cadenas de texto que tienen que ser completadas con valores. Así, mientras en Javascript (y en otros muchos lenguajes) se realizan de la siguiente forma:

var cadena = “A vale ” + a + ” mientras B vale” + b

En Python es más limpio:

cadena = “A vale %s mientras B vale %s” % (a, b)

o también:

cadena = “A vale {0} mientras B vale {1}”.format(a, b)

Sin lugar a dudas, la primera gran diferencia entre ambos lenguajes es el uso de ; frente a la indentación de Python.

Las guías no muerden

Aunque las guías pueden resultar tediosas, creo que son muy importantes para los que ya tienen cierta experiencia y necesitan mejorar su estilo de programación. Este es mi caso actualmente, y he optado por la de AirBnB como mi referencia de lectura (y no soy el único, puesto que hay otras cuantas empresas, algunas bastante importantes, que ya antes han seleccionado esta guía de estilo!), aunque la guía de estilo de Google es mucho más completa, y no está mal tenerla a mano para consulta puntual de un tema concreto.

Conforme progrese con Javascript, supongo que habrá más cosas que eche en falta de Python (espero que no al revés, je je!!), pero lo que sí estoy notando es que mi odio profundo a Javascript empieza a remitir, en parte, forzado porque Javascript se ha convertido en uno de los lenguajes más utilizados hoy día.

Happy coding!

Manejando Datos Newsletter

Noticias, entradas, eventos, cursos, … News, entrances, events, courses, …


Gracias por unirte a la newsletter. Thanks for joining the newsletter.