Escribir un buen problema

Todos los grandes proyectos se basan en los comentarios de los usuarios. Blockly usa los problemas de GitHub para hacer un seguimiento de los comentarios. En esta página, se detalla cómo escribir un problema que un desarrollador pueda leer y responder fácilmente, lo que aumenta las probabilidades de que se solucione tu informe de errores o solicitud de función.

Trabajo previo

¿Tienes alguna pregunta?

Nos encanta conocer tus preguntas. Sin embargo, los problemas de GitHub no son un buen medio para ellos. Si tienes alguna pregunta, visita nuestro foro para desarrolladores. Si haces tu pregunta allí, es más probable que obtengas una respuesta oportuna y completa, ya que está repleta de desarrolladores que usan Blockly durante años.

Comprobar si hay duplicados

Antes de comenzar a escribir cualquier tipo de problema, siempre es bueno ver si ya existe uno que coincida. Si lo logras, esto te ahorrará el esfuerzo de tener que escribirlo tú mismo. Antes de comenzar a escribir, busca duplicados o problemas relacionados.

Si encuentras un problema que coincide, dale Me gusta o agrega un comentario en el que detalle lo que piensas. Esto es muy importante para los informes de errores y las solicitudes de funciones. Si los desarrolladores notan que un problema está recibiendo mucha atención, es más probable que se solucione.

Informar un error

¿Crees que descubriste un error? Perfecto. Nos encanta escuchar informes de errores porque queremos que este proyecto sea lo más estable posible. Aquí hay algunos pasos que puedes seguir para ayudar a corregir el error.

  1. Comprueba si hay duplicados
  2. Recopilar evidencia
  3. Localiza el problema
  4. Solidifica tu reproducción
  5. Sugerir una causa
  6. Escribe tu problema.

Reunir evidencia

Por lo general, cuanta más información tenga el error, mejor. A continuación, indicamos algunos datos que puedes proporcionar:

  • Las capturas de pantalla o los GIF pueden ser muy útiles si un error causa un problema visual.
  • Código de muestra es útil si un error solo afecta a ciertos tipos de bloques o configuraciones de lugares de trabajo.
  • Un sitio alojado es excelente si tienes problemas para reproducir el error fuera de tu entorno específico.

Ubica el problema

Entre la biblioteca principal, los complementos, los ejemplos y los codelabs, tenemos mucho código de Blockly. Para ayudarnos, cuéntanos exactamente dónde está el problema.

Si el problema está en el núcleo, ¿qué componente? Por ejemplo, podría ser un problema con la caja de herramientas, los controles de zoom o los bloques de la biblioteca. Sé lo más específico posible.

Si el problema se encuentra en muestras de bloques, averigua en qué complemento, codelab o ejemplo se encuentra. Si encuentras el mismo error en varios lugares, infórmanos al respecto.

Solidifica tu reproducción

Un error solo se puede corregir si se puede reproducir, por lo que, antes de enviar un problema, asegúrate de tener una manera sólida de que ocurra.

Deberías terminar con una lista numerada de pasos que le indiquen al desarrollador cómo reproducir el error. Por ejemplo:

  1. Abre el codelab de X.
  2. Ir a la página Y.
  3. Ejecuta el código de ejemplo de Z.
  4. Observa el comportamiento inadecuado, que se parece a W.

Si tu problema está en Blockly Core, intenta reproducirlo en la playground.

Sugerir una causa

Si crees que sabes por qué ocurre el error, incluye también esa información. Nuevamente, sé lo más específico posible.

Escribe el problema.

Llegó el momento de escribir el informe de errores. Selecciona tu repositorio:

Asegúrate de completar todas las secciones de la plantilla de problemas, incluso las que no se detallan aquí.

Gracias por tu interés en informar un error. Esperamos que disfrutes de escribirnos.

Próximos pasos

  • El informe de errores se etiqueta automáticamente para su evaluación.
  • El miembro de guardia del equipo de Blockly lo revisará y, posiblemente, hará preguntas aclaratorias. También agregan etiquetas, que usamos para mantener nuestros errores organizados.
  • El problema podría estar marcado como “Se necesita ayuda”, en cuyo caso, puedes reclamarlo y comenzar a trabajar en él.
  • Es posible que se asigne el problema a un miembro del equipo de Blockly para que lo solucione.
  • El problema se puede marcar con un evento importante trimestral para indicar cuándo se realizará.
  • El problema puede estar en el hito de Icebox, lo que significa que no tenemos la intención de trabajar en él en el futuro inmediato.
    • Esto puede ocurrir para problemas de baja frecuencia o errores con soluciones alternativas conocidas.
    • Aún puedes solucionar los problemas de Icebox.
  • El problema se puede ubicar en el evento importante de la lista de Bug Bash, lo que significa que no es urgente, pero aún queremos solucionarlo.
    • Al final de cada trimestre, el equipo pasa algunas semanas trabajando en los errores que se extrajeron del hito de la lista de Bug Bash.
  • Si es necesario, se puede pasar del núcleo de Blockly a muestras de bloques (o en la dirección opuesta).
  • Es posible que se cierre el problema.

Solicitud de función

¿Hay algo que quieras cambiar para mejorar Blockly? ¿Tienes una idea para un complemento, ejemplo o codelab? Tal vez ya haya una que te guste y haya encontrado una forma de mejorarla. Si es así, entonces estás en el lugar correcto. Estos son los pasos que te ayudarán a crear una solicitud de función excelente que reciba una respuesta.

  1. Comprueba si hay duplicados
  2. Consulta los requisitos
  3. Reúne tus ideas
  4. Escriba la solicitud de función.

Consulta los requisitos

Nos encantaría permitir que cada idea ingrese a este repositorio. Lamentablemente, solo somos humanos, por lo que contamos con algunos lineamientos sobre los tipos de solicitudes que perseguiremos.

Estas son las pautas para cada una de las diferentes categorías de proyectos:

  • Blockly Core
  • Complementos
  • Ejemplos: Mostrar cómo usar solo una o dos funciones de Blockly.
  • Codelabs: Muestran cómo completar una sola tarea o implementar un solo comportamiento.

Pero estas no son reglas estrictas. Su único propósito es darte una idea de lo que buscamos antes de que dediques tiempo a crear tu solicitud de función.

Si no sabes si algo encaja, publícalo en nuestros foros para desarrolladores. Recuerda que, si tu idea no es aceptada, nos encantaría que la compiles como instructivo o complemento de terceros.

Reúne tus ideas

No es necesario que tu idea esté 100% provista de oro metálico y diagramas antes de continuar y enviarla, pero debes tener una idea sólida de lo que estás buscando. Estas son algunas buenas preguntas para reflexionar antes de comenzar a escribir:

  • ¿Por qué quiero esta función?
  • ¿Esta función resuelve un problema?
  • ¿A qué público está dirigido esta función?
  • ¿Por qué les sirve esta función?
  • ¿Cuáles son algunas opciones alternativas que podrían lograr lo mismo?

Una vez que hayas resuelto esos aspectos, podrás obtener una buena solicitud de función.

Escriba su solicitud de función.

Ahora está todo listo para escribir tu solicitud de función. Selecciona tu repositorio:

Asegúrate de completar todas las secciones de la plantilla de problemas, incluso las que no se detallan aquí.

Gracias por tu interés en enviar una solicitud de función. Esperamos que disfrutes de la redacción de errores.

Próximos pasos

  • La solicitud de función se etiqueta automáticamente para su clasificación.
  • El miembro de guardia del equipo de Blockly lo revisará y, posiblemente, hará preguntas aclaratorias. También agregan etiquetas, que usamos para mantener nuestros errores organizados.
  • Es posible que la función esté marcada como "Se necesita ayuda", en cuyo caso puedes reclamarla y comenzar a trabajar en ella.
  • La función se puede asignar a un miembro del equipo de Blockly para su implementación.
  • La solicitud de función se puede mover del núcleo de Blockly a muestras de bloques (o en la dirección opuesta) si es necesario.
  • Es posible que se cierre la solicitud de función, en cuyo caso aún tienes la opción de implementarla como un complemento de terceros.