Ir al contenido principal

El código no es lo más importante

Aunque me gusta mucho trabajar en el código, debo reconocer que no es lo más importante. No es para lo que nos contratan. Lo usamos como una herramienta para lograr un objetivo: tener software funcionando. Eso es lo que espera el usuario o cliente de nosotros. De nada sirve el código "elegante" si no hay software resolviendo problemas.

En ocasiones olvidamos que la meta no es lograr cierta arquitectura,  poder utilizar ese framework,  lenguaje que está de moda o familiarizarnos con cierta tecnología. La meta es resolver un problema. Y hacerlo de la manera más eficiente, es decir, que no vaya a generar otro problema después.

Tampoco se trata de no darle importancia al código y hacer un cochinero

Aunque el código no es la meta y no es lo más importante, es necesario escribir código de calidad y evitar la deuda técnica. En ocasiones, por tratar de dar una solución "rápida" al negocio, escribimos código que resuelve el problema de momento; pero que si lo dejamos así sería difícil darle mantenimiento, sería complicado modificarlo o adaptarlo a nuevas necesidades. A esto le llamamos "Deuda Técnica", ya que como toda deuda, al principio te saca del apuro; pero tarde o temprano tendremos que pagarla y eso nos va a costar más entre más tiempo pase.

Aunque el código no es para lo que nos contratan, al ser nuestra herramienta principal de trabajo debemos mantenerlo limpio y fácil de modificar. Pero no perdamos de vista el objetivo: tener software funcionando, resolviendo problemas del mundo real.

Comentarios

  1. Tienes mucha razón, Mario. En mi caso —y puede resultar chistoso o anticuado, quizá— por muchos años he utilizado VBA en MSAccess para realizar muchísimas tareas, interfaz entre diferentes sistemas, automatizar tareas que al final me han sacado de mucho apuro, claro, en un principio por la urgencia como bien comentas en el post muchas cosas en ocasiones se hacen sin pensar en el futuro y cuando algo cambia no es tan fácil adecuarlo, pero cuando te centras en que lo más importante sea el resultado y que el problema se resuelva y esto a su vez en un futuro no muy lejano no te ocasione problemas, creo que la tienes hecha.
    ¿Y por que no he intentado hacerlo utilizando tecnologías mas nuevas o estar al día en cuanto a programación se refiere?, fácil, mi trabajo es el comercio exterior y lo que he hecho ha sido para facilitar mi trabajo, donde he tratado de que lo más importante sea hacer la chamba más fácil.

    Saludos

    P.D. Aún así trato también de que la interfaz gráfica sea agradable al usuario final.

    ResponderBorrar
    Respuestas
    1. Hola Juan,
      Me pasa parecido (a lo que comentas) con un programa que aun le agrego características, que está hecho en delphi. Varias veces he pensando en reescribirlo en algo más "moderno"; pero la verdad es que aun funciona y resuelve el problema.

      Escribí sobre eso en http://www.developeando.com/2012/01/seguir-usando-delphi.html

      Gracias por tu comentario.

      Borrar

Publicar un comentario

Entradas más populares de este blog

Bloqueos

Una de las preguntas típicas de las juntas matutinas en los equipos de desarrollo de software es ¿Hay algún bloqueo? Si lo hay, se trata de ver qué es lo que está esperando esa persona y encontrar la forma de que se desbloquee; pero ¿Qué son los bloqueos? Los bloqueos son obstáculos que te impiden realizar o avanzar en tu trabajo. Evitan que puedas seguir progresando en el proyecto.

He notado que es común en las personas con menos experiencia decir que tienen un bloqueo cuando están batallando, debido a su poca experiencia, en la forma de resolver un problema. Han intentado varias formas y se empiezan a quedar sin ideas de como puede ser resuelto el problema o como pueden cumplir con el requerimiento especificado. Al quedarse sin opciones de qué intentar dicen que tienen un bloqueo con la tarea y que a menos que alguien les diga como resolverlo, no se puede avanzar en la tarea.

En personas con más experiencia, ese tipo de bloqueos no ocurren, una persona con experiencia ha visto pro…

Firebird 2.1 UPDATE OR INSERT

Another great feature that I like in Firebird 2.1 is the UPDATE OR INSERT statement. It's a really time saver and it makes the SQL cleaner.

For example suppose I have a products table like the one I use in my last post and an inventory table to store the product stock. Before Firebird 2.1 if I want to set the stock for a product I needed to check if a record for that product_id already exists; if the product_id already exists then I write an update. If not then I write an insert statement. So I ended up with something like this:


IF EXISTS(SELECT * FROM inventory WHERE product_id = :product_id ) THEN
UPDATE
inventory
SET
stock = :stock
WHERE
product_id = :product_id;
ELSE
INSERT INTO inventory
(product_id, stock)
VALUES
(:product_id, :stock);

In this example I only update one field but when I have to update a big table I ended up with a big chunk of code and thinking: "there should be another (better) way to do this".

Fortunately now with Firebird 2.1 there…

Database Mail en MS SQL Server 2005

Configuración de Database Mail en MS SQL Server 2005

Primero se debe de habilitar, ya que por omisión el componente esta deshabilitado, Utilizando el SSMS (SQL Server Management Studio)


Si no esta habilitado aparecerá un mensaje preguntado si lo habilita, después aparece esta ventana donde se pregunta al usuario que es lo desea hacer.


Seleccionamos la primera opción para crear un perfil.


Configuramos el perfil y le agregamos por lo menos una cuenta.


Seleccionamos el perfil como public y default.


Para mandar correo se utiliza el procedimiento msdb.sp_send_dbmail por lo tanto el usuario que intente mandar correo debe de tener permiso para la base de datos msdb.

Referencias:
http://www.sqlservercentral.com/columnists/cBunch/introtodatabasemailinsql2005.asp