Consejos básicos para programar mejor [Parte II]

 Informática    04/11/2018

En la primera parte del post sobre Consejos básicos para programar mejor trate temas simples pero importantes que ayudan mucho cuando se desea aprender sobre este amplio mundo. Hoy traigo una continuación con puntos ligeramente más complejos pero que vale la pena leer sin importar tu experiencia

 

Proyecto pequeño ejemplo

Uno de mis proyectos sufrió de la Expansión Adversa, obligándome a reescribirlo todo antes de continuar

Cuidado de la escala (expansión adversa)

Cuando se trabaja en un proyecto relativamente grande es normal que no se vea su tamaño como algo negativo, incluso en varias ocasiones es normal sentirse orgulloso por relacionar el tamaño del proyecto con la cantidad de trabajo realizado, pero aquí ocurre una problemática, la cual yo denomino como Expansión adversa.

Básicamente es cuando el tamaño de un proyecto crece sin necesidad, haciendo que añadir nuevas funciones en el futuro sea una tarea difícil, esto debido al tamaño y complejidad del proyecto.

Muchas líneas y muchos archivos o clases pueden enredar a cualquiera con facilidad. Al final el hacer un cambio en una pequeña parte del programa puede implicar el tener que modificar muchos archivos.

¿La solución? Dedicarle una muy buena cantidad de tiempo a refactorizar y mejorar el código existente, todo esto antes de seguir añadiendo nuevas funcionabilidades al proyecto.

 

Patron singleton

El Singleton es uno de los patrones más simples pero que ofrece varias buenas ventajas

Patrones de Diseño

Con la llegada del paradigma orientado a objetos se crearon patrones de diseño mas complejos, estos no solo evitan la redundancia, sino que también ayudan a igualar la estructura de un programa lo mas posible a la vida real.

Los patrones de diseño son un poco difíciles de digerir para los que recién comienzan a programar, pero hay una serie de elementos que se pueden aprender con facilidad antes de pasar a aplicar los patrones de diseño complejos.

Varios de estos elementos son posibles de aprenderse si se googlea la pregunta correcta en Google, como: ¿Qué es una variable estática? ¿Qué es una interfaz? ¿Pase de parámetros? ¿Polimorfismo? ¿Herencia? ¿Qué es el alcance de una variable?, entre otras preguntas y temas que se pueden investigar…

Cabe resaltar que, la mayoría de los lenguajes modernos que son orientados a objetos realmente no implementan todas las características de este paradigma, algunos tienen ciertas características mientras que carecen de otras, pero, en mi opinión personal, el mejor lenguaje para aprender este paradigma es C++, seguido por Java.

 

Captura de codigo

He tenido la oportunidad de aportar a un proyecto muy diferente a lo que acostumbro a hacer

Escribe código

Parece obvio, pero este punto no solo se trata de escribir código constantemente, se trata también se salirse de nuestra zona de confort. Si aprendemos un lenguaje o librería especifico puede parecer perfecto estancarnos en ello y seguir programando ahí porque sí, de todas formas, al final nos sentiremos bien porque es algo que ya dominamos, pero es importante aprender cosas nuevas con el tiempo para refrescar nuestra lógica y abrirnos ante nuestros horizontes.

Tratar de hacer un proyecto diferente, aprender un lenguaje nuevo o usar un framework/librería que no conozcamos será muy importante para mantenernos frescos como programadores y desarrolladores de software.

¿Has hecho juegos simples? Pues no seria mala idea tratar de hacer un programa con Interfaz grafica ¿Has hecho paginas web? Entonces ¿Por qué no tratar de hacer una aplicación o un programa de escritorio?

La programación es un campo exageradamente extenso con muchos tópicos nuevos listos para ser solventados y aprendidos.

 

programar mejor - NASM y C

Netwide Assembler (NASM) y C, dos lenguajes con los que se aprende muchísimo al usarlos

Aprende las bases del bajo nivel

Un buen programador siempre será aquel que conozca bien su entorno, y eso significa saber la naturaleza del lenguaje y su computadora. Aprender aspectos muy técnicos o básicos sobre como funciona un lenguaje o librería, o incluso como funciona el CPU de nuestro equipo ayudará a que entendamos mucho mejor la programación y lo que pasa al correr el código.

Algunas personas incluso recomiendan aprender lenguajes tan básicos y arcaicos como Ensamblador. 

Yo puedo afirmar que alguien que domine un lenguaje así, tendrá la capacidad de aprender cualquier otro lenguaje con extrema facilidad en cuestión de pocos días.

Pero en el caso de que aprender ensamblador no sea lo tuyo, aun puedes aprender otros tópicos elementales como: El tamaño de las variables, variables primitivas, como funciona un compilador o parser, cual es la naturaleza de tu lenguaje o librería favorita, que son los registros del procesador, entre otros tópicos que capaz hagan brillar tu curiosidad.

 

Y con eso finaliza la serie de consejos para programar mejor, si deseas conocer mas sobre el tema no te olvides de visitar Mi canal de Youtube, también soy activo a la hora de responder a todo tipo de preguntas y consultas que tengan :)

Esta entrada fue modificada por última vez el 16/02/2019

OTRAS ENTRADAS