(Programacion) Aprende a formatear el codigo, lince
Buenas gentes, espero que anden bien.
Hoy estaba pensado que postear en Pori... Digo, Taringa!, y me puse a pensar, cosa que no hago muy seguido. Se me ocurrió hacer un post sobre algo que tiene que ver con la programación, que es donde veo que muchos fallan (Tanto principiantes como expertos...)
El formateo de código, como darle formato a un código para que sea entendible lo más rápido posible con el menor esfuerzo necesario.
Cabe aclarar, que es un post para principiantes. Es para ayudar a lo’ pibe’ que están estudiando hace poco, que no estudian y saben un poco, o para gente que quiera mejorar un poco el formateo.
El formateo de código lo maneja cada uno, y es más, código “Spaghetti” para uno puede ser más entendible que para otro, es así. Pero manejarse de forma ordenada, es casi un estándar que se maneja en la industria. Corta, si tu código es un quilombo, nadie lo va a querer ver, y va a hacer más difícil que labures en equipo.
El post lo escribo desde mi experiencia, y de haber leído algunos libros, entre ellos (Como programar C, C++ y JAVA, de Deitel & Deitel).
Buenos vamos allá…
El post está orientado a tips, ejemplos, y ayudas de cómo escribir código legible, tanto para nosotros, como para personas ajenas a nuestro código, que eventualmente tengan acceso al mismo.
Yo voy a estar programando en un IDE (Code::Blocks), en lenguaje C++.
Pero esto se aplica para casi cualquier lenguaje. Solo hay que saber aplicarlo, sin saber el lenguaje en sí.
Primero vamos a empezar con un programa sencillo.
Un programa por consola, que pida el ingreso de 2 números, haga operaciones y los muestre por pantalla.
La programación serial algo así:
El programa va a funcionar perfecto, y es un programa sumamente sencillo, y mucho mas para el propio programador. En el ejemplo, mucho no habría que formatear por la extrema sencillez del mismo, pero igualmente lo vamos a hacer.
Lo primero que haría, seria separar las cabeceras (Los include), de las definiciones de los namespaces. No parece gran cosa, pero quedan mejor a la vista las cabeceras, para saber con qué cabeceras estamos trabajando. Vuelvo a repetir, para trabajos sencillos y cortos no haría falta, pero imagínense que trabajamos con 13 o 14 cabeceras, y no tocamos el proyecto por algunos meses… Sería algo así como empezar de 0…
Lo segundo que haría, es, por ejemplo, la funcion main que tiene un parámetro vacío (VOID), lo aclararía, aunque no haga falta, para la vista es más fácil leer void, que no leer nada, y lo hace mucho más fácil de leer. Adicionalmente, todo lo que valla entre paréntesis, me gusta dejarle espacios entre cada paréntesis. Hace que las sentencias dentro de los paréntesis sean mucho más fáciles de leer, inclusive, cuando hay funciones dentro de esos paréntesis.
Lo tercero que haría, seria bajar los corchetes, hace que visualmente, los corchetes queden alineados verticalmente, y créanme, ayudan MUCHISIMO.
Otra cosa que haría, es, separar las definiciones de variables por tipo, y hasta separarlas por variables, hace que el código sea un poco más largo, pero mucho más entendible. Asimismo, los programadores tenemos la mala costumbre que, para escribir código rápido, usamos nombres crípticos para las variables. Tales como n1, n2, res, son fáciles de “sacar”, pero si usamos variables parecidas para representar cosas como Articulos por mes, y Articulos por mesada, si estamos lo suficientemente locos escribiríamos algo como artxmes, artxm, y cuando leemos ese código después de unas semanas, estamos al horno porque ni idea tenemos que es.
Siempre recomiendo, nombres claros, más largos hacen que escribamos más, pero hace entendible el código. Por una elección personal, prefiero hacer nombres largos, que apunten de que se trata, aunque tenga que escribir más. Usando el ejemplo anterior, haría algo como Articulo_Mes y Articulo_Mesada.
Cuando combinemos structs y vectores y objetos, este método hace que sea extremadamente fácil la comprensión y escritura de un programa.
Luego, algo que hago, es separar con espacios verticales (Enter), distintos tipos de acciones que haga el programa.
Por ejemplo, separo las entradas y salidas, cálculos, definiciones, decisiones o ciclos, para que a la hora de hacer una búsqueda rápida, sea más fácil para la vista.
A nivel consola, agrego alguna pausa y algún clear, para que al momento de laborarlo (En tiempo de ejecución) quede más lindo.
Al final el código terminaría quedando algo así:
Se puede ver, que el programa se hace un poco más largo, de hecho se duplica, a nivel líneas de código, pero entenderlo se hace extremadamente fácil.
Por ejemplo, acá dejo un main de un programa en el que estoy laburando, que no se va a ver nada, porque le hice un zoomout, pero ya se puede notar como esta ordenado el código, ya de lejos, se notan “módulos” de laburo, lo que hace más fácil entender ciclos, decisiones, y muchas cosas más.
Vuelvo a decir, son cosas básicas, que gente experimentada no solo que ya lo sabe, sino que incluso, lo puede mejorar y muchísimo, pero a nivel de formateo de código, es lo mejorcito que se puede hacer.
Recapitulando, algunas cosas básicas:
-Modulariza, separa por módulos de programa, cabecera, definiciones, inicializaciones, etc…
-Si usas paréntesis, sepáralos de la sintaxis interna, así queda más claro que es lo que pasa dentro de ese paréntesis.
-Para las variables, funciones y demás cosas, usa nombres entendibles fácilmente, los nombres crípticos complican el código.
-Aunque no sea necesario, en parámetros de funciones, si no pasas nada, usa el void, hace que sea más fácil leer las funciones.
Bueno, ya se hizo muy largo el post, y no era la idea. Si veo que gusta, voy agregando algunas cosas para meterse más.
Nos vemos linces trota montes de las estepas mesopotámicas del norte.
Hoy estaba pensado que postear en Pori... Digo, Taringa!, y me puse a pensar, cosa que no hago muy seguido. Se me ocurrió hacer un post sobre algo que tiene que ver con la programación, que es donde veo que muchos fallan (Tanto principiantes como expertos...)
El formateo de código, como darle formato a un código para que sea entendible lo más rápido posible con el menor esfuerzo necesario.
Cabe aclarar, que es un post para principiantes. Es para ayudar a lo’ pibe’ que están estudiando hace poco, que no estudian y saben un poco, o para gente que quiera mejorar un poco el formateo.
El formateo de código lo maneja cada uno, y es más, código “Spaghetti” para uno puede ser más entendible que para otro, es así. Pero manejarse de forma ordenada, es casi un estándar que se maneja en la industria. Corta, si tu código es un quilombo, nadie lo va a querer ver, y va a hacer más difícil que labures en equipo.
El post lo escribo desde mi experiencia, y de haber leído algunos libros, entre ellos (Como programar C, C++ y JAVA, de Deitel & Deitel).
Buenos vamos allá…
El post está orientado a tips, ejemplos, y ayudas de cómo escribir código legible, tanto para nosotros, como para personas ajenas a nuestro código, que eventualmente tengan acceso al mismo.
Yo voy a estar programando en un IDE (Code::Blocks), en lenguaje C++.
Pero esto se aplica para casi cualquier lenguaje. Solo hay que saber aplicarlo, sin saber el lenguaje en sí.
Primero vamos a empezar con un programa sencillo.
Un programa por consola, que pida el ingreso de 2 números, haga operaciones y los muestre por pantalla.
La programación serial algo así:
El programa va a funcionar perfecto, y es un programa sumamente sencillo, y mucho mas para el propio programador. En el ejemplo, mucho no habría que formatear por la extrema sencillez del mismo, pero igualmente lo vamos a hacer.
Lo primero que haría, seria separar las cabeceras (Los include), de las definiciones de los namespaces. No parece gran cosa, pero quedan mejor a la vista las cabeceras, para saber con qué cabeceras estamos trabajando. Vuelvo a repetir, para trabajos sencillos y cortos no haría falta, pero imagínense que trabajamos con 13 o 14 cabeceras, y no tocamos el proyecto por algunos meses… Sería algo así como empezar de 0…
Lo segundo que haría, es, por ejemplo, la funcion main que tiene un parámetro vacío (VOID), lo aclararía, aunque no haga falta, para la vista es más fácil leer void, que no leer nada, y lo hace mucho más fácil de leer. Adicionalmente, todo lo que valla entre paréntesis, me gusta dejarle espacios entre cada paréntesis. Hace que las sentencias dentro de los paréntesis sean mucho más fáciles de leer, inclusive, cuando hay funciones dentro de esos paréntesis.
Lo tercero que haría, seria bajar los corchetes, hace que visualmente, los corchetes queden alineados verticalmente, y créanme, ayudan MUCHISIMO.
Otra cosa que haría, es, separar las definiciones de variables por tipo, y hasta separarlas por variables, hace que el código sea un poco más largo, pero mucho más entendible. Asimismo, los programadores tenemos la mala costumbre que, para escribir código rápido, usamos nombres crípticos para las variables. Tales como n1, n2, res, son fáciles de “sacar”, pero si usamos variables parecidas para representar cosas como Articulos por mes, y Articulos por mesada, si estamos lo suficientemente locos escribiríamos algo como artxmes, artxm, y cuando leemos ese código después de unas semanas, estamos al horno porque ni idea tenemos que es.
Siempre recomiendo, nombres claros, más largos hacen que escribamos más, pero hace entendible el código. Por una elección personal, prefiero hacer nombres largos, que apunten de que se trata, aunque tenga que escribir más. Usando el ejemplo anterior, haría algo como Articulo_Mes y Articulo_Mesada.
Cuando combinemos structs y vectores y objetos, este método hace que sea extremadamente fácil la comprensión y escritura de un programa.
Luego, algo que hago, es separar con espacios verticales (Enter), distintos tipos de acciones que haga el programa.
Por ejemplo, separo las entradas y salidas, cálculos, definiciones, decisiones o ciclos, para que a la hora de hacer una búsqueda rápida, sea más fácil para la vista.
A nivel consola, agrego alguna pausa y algún clear, para que al momento de laborarlo (En tiempo de ejecución) quede más lindo.
Al final el código terminaría quedando algo así:
Se puede ver, que el programa se hace un poco más largo, de hecho se duplica, a nivel líneas de código, pero entenderlo se hace extremadamente fácil.
Por ejemplo, acá dejo un main de un programa en el que estoy laburando, que no se va a ver nada, porque le hice un zoomout, pero ya se puede notar como esta ordenado el código, ya de lejos, se notan “módulos” de laburo, lo que hace más fácil entender ciclos, decisiones, y muchas cosas más.
Vuelvo a decir, son cosas básicas, que gente experimentada no solo que ya lo sabe, sino que incluso, lo puede mejorar y muchísimo, pero a nivel de formateo de código, es lo mejorcito que se puede hacer.
Recapitulando, algunas cosas básicas:
-Modulariza, separa por módulos de programa, cabecera, definiciones, inicializaciones, etc…
-Si usas paréntesis, sepáralos de la sintaxis interna, así queda más claro que es lo que pasa dentro de ese paréntesis.
-Para las variables, funciones y demás cosas, usa nombres entendibles fácilmente, los nombres crípticos complican el código.
-Aunque no sea necesario, en parámetros de funciones, si no pasas nada, usa el void, hace que sea más fácil leer las funciones.
Bueno, ya se hizo muy largo el post, y no era la idea. Si veo que gusta, voy agregando algunas cosas para meterse más.
Nos vemos linces trota montes de las estepas mesopotámicas del norte.
0No comments yet
