programming learning khan academy language-agnostic development-environment

language-agnostic - khan - learning programming



Seguimiento automático del tiempo de desarrollo (3)

Escribimos un complemento para nuestro IDE (IntelliJ en nuestro caso) que realiza un seguimiento del tiempo dedicado por proyecto de forma automática. La API de IDE le permite hacer una lista de eventos como ediciones, cambio de ventanas, etc., por lo que registramos un registro cada vez que sucede algo así. El módulo de informes analiza estos datos sin procesar y determina el tiempo total dedicado por proyecto al comparar las marcas de tiempo entre los registros. Si la diferencia es mayor a 5 minutos, asume que no se hizo trabajo durante este tiempo.

No es perfecto y no es 100% preciso, pero eliminas todo lo escuchado por el seguimiento manual de estas cosas por medio de una herramienta externa.

Estoy trabajando en un proyecto personal y me encantaría poder decir al final: "He gastado X horas en este proyecto". Ahora, una forma de resolver esto es utilizar un rastreador de tiempo manual (funcionado desde: hasta :). He tenido problemas con esto, porque solo logro usarlo consistentemente durante la primera semana o dos. Entonces me gustaría rastrear el tiempo de desarrollo automáticamente.

Una idea que tuve fue insertar una secuencia de comandos corta en el proceso de compilación que insertaría una marca de tiempo en un archivo de registro cada vez que se llama un proceso de compilación. Más tarde, podría analizar los intervalos entre cada compilación y con suerte calcular una imagen un tanto precisa de lo que está sucediendo.

¿Alguien más tiene una idea de cómo podría implementarse una herramienta de seguimiento del tiempo?

Seguimiento rápido basado en las respuestas ya provistas:

  1. Los rastreadores Stop / Start no son malos, pero requieren mucha disciplina, algo en lo que quizás debería estar trabajando. Pero no funcionan para mí.
  2. Los programas específicos de seguimiento de aplicaciones son geniales, pero estoy al día en Mac OS X.

Mi opinión es que usted se beneficiaría enormemente al mantener un diario de desarrollo liviano. Notas, bocetos, tiempos, fechas, etc., diseños. No es una respuesta a su pregunta, pero es una disciplina que pocos desarrolladores tienen y que necesitan desesperadamente.

La vida está ocupada y las personas deben aprender a rastrear / presupuestar su tiempo y a disciplinarse para asumir buenos hábitos y comportamientos.

Te animo a luchar y ganar esta batalla. No comprometa algo tan fácil de automatizar cuando haya mayores ganancias si mejora sus habilidades. Es posible que también desee ver algunas ideas de LifeHacker.

Un poco de falta de respuesta, pero espero que lo encuentres útil.


Si usa el control de código fuente, puede usar svn (u otro) enganches en commit y checkout que registren las marcas de tiempo en un db, etc. cuando verifique su proyecto y cuando lo vuelva a registrar.

El truco para hacer que esto funcione, y es más fácil en proyectos individuales de desarrollador, es ASEGURARSE de que verifique su trabajo cuando haya terminado de trabajar por un período de tiempo, y que lo verifique inmediatamente antes de realizar el trabajo real.

Esto puede no ser factible para su proyecto. La verificación de procesos de compilación, etc., tiene los mismos problemas, es decir, que puede trabajar durante 3 horas y luego desarrollar 8 horas después de eso.