Creo que los TODO
comentarios, hasta cierto punto, tienen sentido. Sobre todo si se está trabajando de forma iterativa (como es común en tiendas ágil y TDD), habrá cosas que reconoces está va a ser necesario en poco tiempo, pero que no desea hacer el desvío a aplicar en ese mismo momento.
Lo que se pone feo es cuando tales comentarios permanecen en la base de código. Mientras trabajas activamente en una función, está bien dejarla activada, pero tan pronto como te acerques a completarla, debes concentrarte en deshacerte de ella. Si no desea pasar por el trabajo de reemplazarlos con un código de trabajo adecuado, entonces, al menos, tenga en cuenta la funcionalidad relevante. Para tomar prestado el ejemplo de @ JoonasPulakka, donde el código dice inicialmente
ConnManager.getConnection("mydatabase"); // FIXME: DB name should be configurable
podrías cambiar eso a algo como
ConnManager.getConnection(GetDatabaseName());
con, por el momento, GetDatabaseName () es un código auxiliar que simplemente devuelve la misma cadena con la que comenzó. De esa manera, hay un punto claro de expansión futura, y usted sabe que cualquier cambio realizado allí se reflejará en cualquier lugar donde se necesite el nombre de la base de datos. Si el nombre de la base de datos es incluso moderadamente genérico, esto puede ser una mejora masiva en la mantenibilidad.
Personalmente, uso una palabra clave propia en lugar de estrictamente TODO
, aunque la intención es la misma: marcar las cosas que sé que deberán revisarse. Además, antes de registrar mi código, realizo una búsqueda de código fuente global para esa palabra clave, que se elige de tal manera que normalmente no debería aparecer en ninguna parte del código. Si se encuentra, sé que olvidé algo, y puedo seguir y arreglarlo.
En cuanto a incluir el nombre / firma del programador con el comentario, creo que es exagerado si tienes un sistema de control de versión de código fuente ( sí , ¿verdad?). En ese caso, su función de culpa le dirá quién agregó el comentario, o más exactamente quién registró por última vez un cambio que tocó el comentario. Por ejemplo, en Visual Studio, esto se logra fácilmente utilizando la función "Anotar" que se encuentra entre las funciones de control de origen.