como programador me las he tenido que ver con codigo de otras personas y he sufrido en muchas ocasiones esa sensacion de "antes lo escribo de cero que entiendo como coño lo hace". Tambien he sentido la sensacion de agradecimiento que te llega cuando alguien llega un poquito mas lejos que simplemente comentar el codigo, por ejemplo, no viene nada mal en un codigo escrito por varias personas que las partes que uno modifica esten rodeadas por su nick:
//Tei - Aqui activamos el modo R-X
LOCK();
gi.CallMode(TGL_SHARED_R_X);
UNLOCK();
//Tei
Solamente esto ya es una ventaja enorme a la hora de entender un texto. Una forma de llevar esto mas lejos y mas practico es hacer lo siguiente:
#if MODERX //Tei activa aqui el modo RX
LOCK();
gi.CallMode(TGL_SHARED_R_X);
UNLOCK();
#else
// Codigo seguro si no hay RX
WAIT();
#endif
Con lo que, joder, es bastante facil activar/desactivar una funcionalidad determinada.
Como diria un santon por ahi "se codifica, se documenta, a la vez". Programar y documentar un programa es la misma cosa... pero hay formas de hacerlo MAL. En mi opinion uno deberia programarse las funcionalidades, asignandoles un identificador, y hacerlas opcionales segun la tecnica que he puesto aqui u otra. Tambien deberia utilizar alguna tecnologia para mantener en sincronia documentacion y codigo, o bien docu-codigo. Creo que algunas personas utilizan algo llamado Doxygen.. a mi esto no me gusta, por eso tiendo mas a escribir un Documento que se puede compilar y es el programa, y aparte llevar una wiki para documentacion orientada al usuario ( la barrera energetica de gestion de una wiki es la mas baja conocida).
Si conocen alguna manera de currar *mas* de la forma *mas* vaga todabia, me avisan.
Por cierto:
Creo que el buen codigo fuente deberia ser facil de leer, y aunque se puede sacrificar la legibilidad para alcanzar la maxima velocidad, yo estoy por sacrificar la velocidad en beneficio de un codigo mas legible incluso en los ambientes donde la velocidad es lo mas importante. Uno pierde el control de un programa cuando se hace ilegible, y finalmente el codigo fuente/lenguaje que gana es el "mejor ciudadano"(mas legible).
codigo fuente comentado
(Puntos:1)( Última bitácora: Viernes, 03 Febrero de 2012, 15:18h )
//Tei - Aqui activamos el modo R-X
LOCK();
gi.CallMode(TGL_SHARED_R_X);
UNLOCK();
//Tei
Solamente esto ya es una ventaja enorme a la hora de entender un texto. Una forma de llevar esto mas lejos y mas practico es hacer lo siguiente:
#if MODERX //Tei activa aqui el modo RX
LOCK();
gi.CallMode(TGL_SHARED_R_X);
UNLOCK();
#else
// Codigo seguro si no hay RX
WAIT();
#endif
Con lo que, joder, es bastante facil activar/desactivar una funcionalidad determinada.
Como diria un santon por ahi "se codifica, se documenta, a la vez". Programar y documentar un programa es la misma cosa... pero hay formas de hacerlo MAL. En mi opinion uno deberia programarse las funcionalidades, asignandoles un identificador, y hacerlas opcionales segun la tecnica que he puesto aqui u otra. Tambien deberia utilizar alguna tecnologia para mantener en sincronia documentacion y codigo, o bien docu-codigo. Creo que algunas personas utilizan algo llamado Doxygen.. a mi esto no me gusta, por eso tiendo mas a escribir un Documento que se puede compilar y es el programa, y aparte llevar una wiki para documentacion orientada al usuario ( la barrera energetica de gestion de una wiki es la mas baja conocida).
Si conocen alguna manera de currar *mas* de la forma *mas* vaga todabia, me avisan.
Por cierto:
Creo que el buen codigo fuente deberia ser facil de leer, y aunque se puede sacrificar la legibilidad para alcanzar la maxima velocidad, yo estoy por sacrificar la velocidad en beneficio de un codigo mas legible incluso en los ambientes donde la velocidad es lo mas importante. Uno pierde el control de un programa cuando se hace ilegible, y finalmente el codigo fuente/lenguaje que gana es el "mejor ciudadano"(mas legible).
IMHO.