Polls

Afectará la crisis a los videojuegos?
 
Inicio arrow Noticias arrow Programacion arrow Los principios del programador
Los principios del programador PDF Print E-mail
Written by Javier Loureiro   
Friday, 18 April 2008

En este enlace , se nombran varios puntos que un buen programador debería de tener en cuenta a la hora de programar en equipo. Muchos son estéticos, pero interesantes a la hora de escribir código.

 Todos se pueden resumir en "escríbe código claro y facil de entender". No es ninguna novedad, pero muchas veces se olvida... se olvida?

 Yo creo que no se olvidan estos principios. Los programadores son por naturaleza, bien estructurados en la cabeza. Muchas veces, son (somos) dejadillos, es cierto, pero no se hacen hacks por gusto.

 La mayoría de los hacks surgen porque el sistema que usamos (librería, os, framework, lo que sea) tiene un límite de flexibilidad. Todo sistema acaba degenerando, irremediablemente. Siempre se le pide a un sistema algo para lo que no estaba diseñado, y los buenos programadores encuentran una forma de hacerlo que nadie había pensado antes (un hack). Al final, todo suele ser un gran hack, y esa es la señal clara de que hay que reescribir el sistema. Eso me ha pasado en innumerables ocasiones, y la mayoria de las aplicaciones/framworks que hay en las empresas han degenerado en algo asi, por el propio concepto de la empresa.

 Entonces, si tienes que pinchar código a una llamada que sabe dios cómo has encontrado, que te permite conectar tu sistema para que puedas meter eso que te han pedido... cómo vas a ser claro y conciso? cómo no va a ser todo un "rollo" que solo el programador conoce? donde estan los principios en ese caso?

 A mi siempre me ha gustado mas pensar en el "tao de la programacion ", algo dificil de explicar... quizas este pasaje os sirva para reflexionar:

El programador del Príncipe Wang estaba codificando. Sus dedos bailaban sobre el teclado. El programa compiló sin un mensaje de error, y el programa corrió como viento ligero.

"¡Excelente!," exclamó el Príncipe, "¡Tu técnica no tiene fallas!"

"¿Técnica?," dijo el programador, girándose hacia su terminal, "Lo que yo sigo es el Tao -- mas allá de toda técnica. Cuando al principio empecé a programar yo podía ver el programa completo en un bloque. Después de tres años ya nunca más vi ese bloque. En vez de eso, usé subrutinas. Pero ahora no veo nada. Todo mi ser existe en un vacío sin forma. Mi sentidos estan ociosos. Mi espíritu, libre para trabajar sin un plan, sigue su propio instinto. En resúmen, mi programa se escribe así mismo. Es verdad, a veces hay problemas y dificultades. Las veo venir, me freno, observo silenciosamente. Entonces cambio una sola linea de código y las dificultades se desvanecen como nubes de humo. Entonces compilo el programa. Me siento erguido y dejo que el gozo del trabajo llene mi ser. Cierro mis ojos por un momento y entonces cierro mi sesión."

El Príncipe Wang dijo, "¡Ojalá todos mis programadores fueran tan sabios!"

 

 

Comentarios
Añadir nuevoBuscar
Antonio Serrano     | 80.32.33.xxx | 2008-04-18 13:28:50
No estoy del todo de acuerdo contigo.

Yo he visto malos programadores que de estructurar nada de nada.

El que es bien hecho, lo hará bien y el que no, hara un asco de código...que de todo hay en la viña del señor...
Víctor M. Muriel     | 84.125.178.xxx | 2008-04-18 13:57:04
El problema viene, a mi modo de ver, en que aun la programación se entiende como algo sencillo y que hay que hacer a la de ya.

Muy pocas empresas respetan al programador y aun menos saben los tiempos y algo de ingeniería del software.

Si las cosas no se piensan bien, no retrocediendo y borrando código cuando hay que hacerlo, entre otras cosas. Al final, todo se va al garete.

Porque amigos, la ingeniería del software está para algo.

Imaginad si le comentais a vuestro jefe que para hacer ese cambio hay que reestructurar antes cinco clases. Él te dirá: - Bueno, haz lo que quieras, pero tenlo para después de almorzar.

También comentar que en nuestro mundillo (yo soy más de render off-line) código limpio y claro, suele significar, lento y feo.

Creo que la clave está en saber diferenciar que parte necesita una optización de toma pan y moja y cual no.
Para sacar un mensaje por pantalla, no hace falta hacer una llamada a la bios, ni comprimir la cadena en memoria usando un hiperhash para ahorrarte cuatro kas.

Programar es como hacer unas lentejas, si una vez terminada la receta, empezamos a echarle más ingredientes sin sus tiempos de cocción y demás. Aquello no hay quien se lo coma.

Curioso lo del Tao.
Víctor M. Muriel     | 84.125.178.xxx | 2008-04-18 14:00:43
Válgame, no me digas que hay límite de texto para la entrada, y yo escribiendo como un descosido.

Vamos a tener que llamar el programador taoísta para que haga algo con esto.
Algar   | 57.67.17.xxx | 2008-04-18 14:07:03
Víctor M. Muriel escribió:
Creo que la clave está en saber diferenciar que parte necesita una optización de toma pan y moja y cual no.


Incluso para eso vale la ingeniería del software.

Yo considero que lo fundamental es seguir todos las mismas reglas de estilo. Solo con eso ya se avanza una barbaridad.
Polimalo     | 88.2.25.xxx | 2008-04-18 14:09:52
Con el tiempo, pero muy poco a poco, se va reconiciendo la valía de los buenos programadores. No todo el mérito lo tienen los arquitectos y analístas.
- Kartones - Si los hay... por desgracia     | 83.175.203.xxx | 2008-04-18 14:59:39
Por desgracia yo también he visto programadores malos, en los cuales el concepto de "estructurar" no existe (ni hablemos ya en conceptos más "avanzados" tipo orientación a objetos ;)

Igual que hay gente (yo conozco agrónomos y químicos) que programan fantásticamente sin ser "del gremio", conozco y he sufrido otra gente que pese a tener módulo/carrera y/o experiencia laboral son simplemente nefastos...
derethor   | 80.38.93.xxx | 2008-04-18 17:20:58
victor! me alegro de hablar contigo.. aqui tengo muchos compis tuyos :)

A mi me parece importante para ser un buen programador tener un espíritu crítico con lo que uno mismo hace. Ir cambiando el criterio que uno mismo tiene de su propio código, pensando si se puede mejorar de alguna forma, reescribiendo su propio código, incorporando nuevas formas de trabajar, etc.

Cambiar a otros lenguajes tambien es importante. Probar un poco de php, de python, sql, etc, ayuda a pensar nuevas formulas para nuestra forma de trabajar.
mimestim   | 84.79.161.xxx | 2008-04-18 18:41:46
Pues a mi me encantaría el poder programar como expresa el pasaje, la verdad es que seria una pasada, pero las herramientas actuales ( aun a pesar de las mejoras en refactoring y tal ) no lo permiten, en cuanto a la gente, pues supongo que hay de todo unos programan bien otros mal...
Víctor M. Muriel     | 84.125.178.xxx | 2008-04-18 20:41:40
Jeje, sí ... mucha fauna por Illion ;)

Nada Javier, el placer es mío.


Aprovecho para darte mis felicitaciones por el trabajo que estás haciendo con Codepixel, de hecho, llevo ya años visitándola, y de hecho, por aquí continuo.
Escribir comentario
Nombre:
Email:
 
Website:
Título:
Código UBB:
[b] [i] [u] [url] [quote] [code] [img] 
 
Security Image
Por favor introduce el código anti-spam que puedes leer en la imagen.

Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved.



menéameDigg!Del.icio.us!Google!Technorati!Yahoo!
Last Updated ( Friday, 18 April 2008 )
 
< Prev   Next >

Lista de Correo

visita la lista de correo de codepixel. Es una lista abierta, asi que podrás subscribirte y preguntar tus dudas de programación, compartir tus opiniones, aportar ideas, y formar parte de la comunidad codepixelera.