Sunday, August 24, 2014

Clean Code - Acto social

Cuántas veces como programadores nos hemos sentido percibidos como gente solitaria que está frente a un computador, quizás algunas veces aceptamos eso porque nuestro código es algo que podemos crear solos o buscando recursos desde la Internet. Nada más lejos de la realidad cuando se trabaja en equipo.

El acto de programar


El programador crea o modifica otro código existente, así adapta la funcionalidad que va a implementar. Él piensa en la mejor forma de hacer entendible su código, así alguien más va a reconocer rápidamente lo que hace y sus cambios serán más certeros. El programador no es un ente solitario, el trabaja con código de otras personas. Programar es un acto social. Así es presentado el arte de programar en el libro Clean Code.

Comunicar


El libro, o biblia de la programación para otros, se centra en facilitar la comunicación de la intención del código, con sus funciones, clases, variables, etc., ¿Por qué eso es tan importante? pues porque nada asegura que el mismo programador trabaje en la misma pieza de código, éste puede tener asignadas otras tareas o ya no es parte de la empresa. En el Software, el código es una de las mejores documentaciones que se puede dejar y éste tiene un propósito, una razón para existir, y es mejor comunicarlo fácilmente siendo coherente.

Fundamentos


El libro recomienda como tiene que formarse una clase, las mejores opciones de nombres, variables, tamaño de las funciones, niveles de abstracción, principios de responsabilidad, entre otros. Explica porque lo pequeño es mejor, ayuda a elegir nombres adecuados, la importancia de proporcionarle un formato común al código, el autor hace fuertes críticas de los comentarios de código que explican algo que no puede hacerlo por sí mismo, además de entregar un montón de heurísticas que sirven como guía al momento de codificar.

Recomendaciones


El autor no pasa por alto el diseño. Agregar o cambiar código, por mínimos que sea, tiene un grado de impacto en el diseño del sistema y condiciona su evolución. El autor abarca principios que ayudan a hacer un trabajo de programador profesional, algo serio que proporciona valor y que todos nuestros compañeros de trabajo seguramente agradecerán porque no será un dolor de cabeza leer ese compás de líneas que sigue un ritmo idéntico al que tiene el programador que lo lee. No hay que olvidar que estamos frente a recomendaciones y varios de éstas son discutibles o incluso abiertas a mejoras, aplicables según criterio.


El libro sigue la premisa de que el Software codificado va evolucionando, su complejidad aumenta y a menos que seas el primero en escribir código, siempre vas a tener que entender lo que hace el código existente, y eso toma tiempo. Programar es conversar contigo mismo y con otros desarrolladores, el idioma en común, así como las convenciones y fluidez son fundamentales para lograr una buena comunicación.

Sunday, August 17, 2014

La atracción de JSON

Cuando algo se está volviendo cada vez más complejo y se encuentra que está realizando más cosas de las que necesita hacer, entonces eso comienza a desperdiciar el tiempo de la gente, las comunicaciones a los desarrolladores.
A las personas les gustan los formatos simples, estos son más fáciles de entender y tienen solamente las cosas necesarias para hacer lo que realmente necesitan hacer.

La llegada de XML


Algo como esto ha sucedido con XML y JSON, primero llegó XML  a nuestro mundo para satisfacer la necesidad de tener un estándar independiente del lenguaje de programación para intercambiar datos entre diferentes plataformas, y eso fue resuelto en una elegante forma. Así, cada vez que se necesitaba intercambiar datos entre dos diferentes plataformas sin considerar el lenguaje de programación en que estos fueron implementados fue usado XML. Los datos usaban XML, las bases de datos estaban enviando datos usándolo, los Servicios Web SOAP también lo usaban, etc. Era la única opción.

La llegada de JSON


Entonces  llegaron algunas alternativas, una de ellas fue JSON que estaba alcanzando los mismos objetivos de XML con diferencias que hacían algunas cosas más fáciles y otras más difíciles. Los desarrolladores tienen más opciones y ellos pueden adaptarse mejor a las necesidades de sus plataformas. JSON llegó con la promesa de ser más rápido con su formato liviano que tenía menos complejidad que su antecesor.

Cualidades de JSON


Una de las ventajas de JSON es su relación con AJAX que necesita cargar rápidamente los datos y asincrónicamente sin retrasar la renderización de las páginas. Las páginas sociales necesitan refrescar su información una abundante cantidad de veces, pequeñas optimizaciones pueden tener un gran impacto en la eficiencia y performance de una aplicación Web. Por otro lado, las aplicaciones usando gran cantidad de información (Big Data) llegaron con sus propias necesidades, algunas de ellas eran el almacenamiento y manipulación de sus colosales datos, JSON provee una forma más rápida para usar esas gigantes bases de datos basadas en documentos.
JSON es un formato para intercambiar datos y se enfoca en una sencilla forma para permitir su validación y parseo que son implementados en el lenguaje que usa este formato, entregando una fácil forma de manipular sus elementos anidados. A diferencia, XML parsea los datos usando un DOM (Document Object Model) o un Schema por el lado del cliente que requiere una respuesta en XML.

Si se considera el tamaño de los documentos XML y los del JSON, debido a la complejidad del XML, ese usa una mayor banda ancha cuando se envían datos sobre la red. Si además consideramos que cada vez los dispositivos como iPhones y Tablets son más populares en la actualidad, semejante cantidad de datos en una red lenta causa tardanza en la carga de páginas y una peor experiencia de usuario. Actualmente XML es ampliamente usado y tiene sus propios beneficios, pero JSON ha llegado a ser el preferido para intercambiar datos en internet en los últimos años.