¿Qué debe hacer un desarrollador cuando está atrapado en un problema?

La mayoría de las respuestas anteriores, como “salir a caminar” o “preparar un café” están bien en casos en los que no puede averiguar qué algoritmo aplicar a un problema.

Sin embargo, en mi experiencia, el escenario más probable es cuando un marco subyacente o una API no se comporta de la manera esperada. Esto puede ser un problema muy frustrante y lento. Aquí hay algunas opciones en este caso …

Busque en Internet ejemplos de código que interactúen con la API que intenta comprender. Pruebe estos ejemplos para ver si funcionan en su entorno.

Cree una aplicación de prueba trivial que interactúe con la API. Si aún no puede hacer que la API funcione de la manera que espera, puede usar el código en su aplicación de prueba como ejemplo al publicar en foros como stackexchange (generalmente es incómodo publicar su código de producción en un foro debido a problemas intelectuales problemas de propiedad y probablemente haya un código circundante que sea irrelevante para el problema que está intentando resolver) Cuanto más fácil sea para que la comunidad reproduzca su problema, más probabilidades tendrá de obtener una respuesta de calidad.

En su código de producción, intente reducir la interacción a su forma más básica. Elimine secciones del código circundante para reducir las variables (usar git para el control de la fuente es útil aquí ya que git es muy amigable con las ramas descartables).

Una vez que la API responde de la manera que espera, puede comenzar a reconstruir el código y reemplazar el código que eliminó.

Una vez que tenga su aplicación trabajando en contra de la API, haga una diferencia final del código original frente a su nuevo código para confirmar que los únicos cambios que ha realizado corresponden al problema que resolvió. Si ha estado pirateando el código circundante como parte del proceso de solución de problemas, quiere asegurarse de haber retirado todos sus hacks.

Hay algunas cosas que puedes hacer.

  1. Explique su problema a otra persona. El acto de explicarlo puede desencadenar ideas para que no se despegue, o la otra persona puede ayudarlo a resolver el problema.
  2. Lucha con el problema durante unas horas, luego haz algo que no esté relacionado con la computadora. Salga a caminar, haga ejercicio, haga jardinería, lea una novela o incluso duerma. Esto le da tiempo a su mente inconsciente para resolver el problema.
  3. Vea si hay una manera de traducir su problema en un problema similar que sepa cómo resolver.
  4. Trabaja en una tarea diferente. Al tomar exámenes en la escuela, especialmente los exámenes de matemáticas, es mejor dedicar tiempo a todos los problemas, en lugar de dedicar todo su tiempo a uno en el que está atrapado. Al menos aún puedes ser productivo.

Ir a caminar. Muy a menudo, su cerebro encontrará una solución o al menos otro ángulo de acercamiento al problema. Pasa todo el tiempo.

Alto a un pato de goma al respecto …
No en serio.
http://www.rubberduckdebugging.com