Hola a todos.
Hoy tengo el placer de presentaros a un colega, que espero, colabore por largo tiempo en esta casa, se trata de un joven Estudiante de Ingeniería Informática en la UPNA, Apasionado por la seguridad informática, con muchas ganas de aprender y enseñar todo lo que pueda, un poco maniático con el orden y el minimalismo como el mismo se define, se trata de Daniel Diez conocido en twitter como @Danilabs el cual se va a encargar de mostrarnos como se programa de manera eficaz y con un estilo depurado, para que le conozcais un poco mas os diré que ha sido nombrado Hall of Fame en Microsoft en Agosto 2013 y Noviembre 2013 en ambas ocasiones fueron por un XSS, una fue en el reproductor Flash del dominio cloudapp y otra en el reproductor de video de MSConvergence (web de evento de microsoft) Además también encontro un XSS en el cuadro de búsqueda de la web Seagate.com y le recompensaron con un HDD de 500GB, y recientemente en la web de ESET.es descubrió otro XSS en un cuadro de búsqueda que fue recompensado con una licencia de 1 año.
Como veis es una colaboración de lujo, que nos ayudara a progresar en nuestro camino en la seguridad.
Le doy la bienvenida y sin mas preámbulos os dejo con el primero de los que sean espero una larga colaboración…
Después del parón navideño y como bien dijo Juan Carlos en Introducción a la práctica de los lenguajes de script vamos a traer una serie de artículos sobre programación al blog y espero que os sean de utilidad.
En este caso, voy a hacer una serie de capítulos en los cuales comentaré algunos de los consejos y/o herramientas que utilizo para mejorar mi estilo de programación. Me gustaría agregar que el lenguaje que utilizaré para los ejemplos será Java, debido a que es un lenguaje POO primordial para cualquier programador.
Bueno, vamos al lio.
En primer lugar quisiera aclarar que para mí leer un código debe ser como «leer un libro», es decir, a la vez que vas leyendo el código no deberías tener ninguna complicación, en lo que respecta a la sintaxis (otra cosa es el funcionamiento). Es una cuestión que quería aclarar ya que he visto programadores (compañeros míos de carrera) que en tres archivos con 30 líneas de código cada uno, NO sabían qué hacía su código y tenían que ir buscando a ver para que se usaba cada una de las variables.
Veamos con un ejemplo a lo que me refiero.
Es un extracto de una clase llamada Persona, la cual solamente tiene el constructor Persona que recibe dos argumentos de tipo String (cadena). El código es completamente funcional y hace lo que debe, digamos que «funciona».
Pero las variables ahí expuestas tienen varios problemas:
– Están en idiomas distintos (español e inglés): Cuando comienzas a hacer un proyecto debes dejar claro en qué idioma se va a programar para evitar confusiones de variables y tener un código uniforme y fácil de comprender.
– Abreviaturas abstractas: Como podemos ver la variable «no» no define de forma indistinguible lo que representa, es decir, «no» podría equivaler a «nombre» o a otro atributo de la clase. Por lo que podría contener el «nombre» u otro dato.
Si vas a programar para ti y solo para ti, obviamente puedes escribir el código como te venga en gana, nadie te va a decir nada. Aunque, en los proyectos por lo general suelen participar otras personas, las cuales te agradecerán que tu código sea comprensible al menos en la sintaxis y que este en un idioma común. Por lo que nunca esta demás ayudar y facilitar la vida a tus compañeros.
Ahora veamos el mismo código con una serie de normas de estilo.
Esta vez lees el código y comprendes todas las variables junto con sus asignaciones.
Simplemente hemos escrito todas las variables en inglés y el nombre completo del atributo. Ahora «no» es «name» y «telf» a pasado a ser «phone», por lo que resulta más sencillo comprender cual será su funcionamiento.
Finalmente como resumen en el tip de hoy hemos aprendido lo siguiente:
– Tener uniformidad de idioma en el código y en la documentación de todo el proyecto.
– Utilizar nombres de variables y clases representativas.
Aunque haya sido una entrada muy sencilla y básica, creo que son la base de un buen proyecto.
Espero que os haya gustado.
Un saludo,
Daniel (@DaniLabs)
Segunda parte » Tips para mejorar tu estilo de programacion (II) «
Pingback: Tips para mejorar tu estilo de programacion (II) | BITÁCORA DE REDES
Pingback: Tips para mejorar tu estilo de programacion (III) | BITÁCORA DE REDES
Pingback: Tips para mejorar la creacion de código | Hormigas y Bytes