Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/04/2013, 12:04
Avatar de razpeitia
razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años
Puntos: 1360
¿Como preguntar en el foro de python?

Introducción
Debido a la gran cantidad de mensajes que llegan, donde falta información o no hay preguntas claras, concretas o al menos preguntas.

¿Como leer este post?
Lectura rápida, solamente le las partes en negritas.

¿Que actitud debo asumir?
Recuerda, la gente que responde aquí (generalmente) lo hace de manera gratuita y de buena voluntad, todo por el bien de la comunidad.

Una actitud humilde, trabajadora y amable es mas que suficiente.

¿Que actitud NO debo asumir?
Actitudes como:

Necesito código: En esta actitud regularmente el usuario pide código de como hacer algo, sin antes investigar por su cuenta, buscar en el foro y mucho menos tratar de hacer un esfuerzo por resolver el problema por el mismo. Simplemente quiere que le hagan el trabajo por el.

Mandenme la solución a mi correo: Este tipo de actitud esta casi extinta, sin embargo voy hacer un par de aclaraciones. Primero si pones un problema un problema en un foro, lo mas probable es que te respondan usando este sistema. Segundo si pones tu correo en texto plano es muy sencillo que lo detecte algún bot y te ponga en una lista para enviar spam. Tercero y creo que es el punto más importante el hecho que pongan la solución en el foro es para compartir la solución de tu problema con el resto del mundo, por si en caso que alguien mas tenga el mismo problema, no tenga preguntar otra vez.

Háganme mi tarea: Si eres estudiante y tienes dudas, claro que puedes preguntar aquí. Pero primero trata de poner de tu parte, llega con preguntas puntuales y no con cosas como "Tengo 2 (o mas) códigos y quiero unirlos", O poner la descripción de tu tarea y preguntar por código o preguntar sobre como resolver una tarea o proyecto que te dejaron (en este último punto creo que tu profesor te propria ayudar mejor que uno).

Mi tema no ha recibido respuestas por lo tanto voy a poner un post para llevarlo arriba de los otros temas: Este tipo de actitud tampoco es buena, si no has recibido una buena respuesta es por que o has caído en alguna actitud que no debes de asumir o tu post no tiene suficiente información.

Mi tema no ha recibido respuestas por lo tanto aquí nadie aquí: Probablemente la peor postura que puedas tomar en un foro. Esto solo alienta a que nadie te responda. Pero sin embargo claro que existe la posibilidad de tu tema sea demasiado especializado (regularmente como researchs o papers de P.h.D en tecnologías oscuras o muy nuevas) donde no tal fácil te puedan ayudar.

Ha preguntas generales, respuestas generales: Nota que si tu pregunta es muy general y pones poco o nada de código. No esperes recibir una respuesta super especifica y/o con código.

Este tema tiene mas de 6 meses de antigüedad voy a preguntar en este tema: Mala idea, déjame ponerlo en perspectiva, si hay un tema con 6 meses o más de antigüedad sin alguna respuesta concreta y en ese tiempo no se resolvió dudo mucho que alguien ahora vaya a responderte, por que si no se resolvió en ese momento es que el tema cayo el alguno de los puntos de arriba. Lo mejor que puedes hacer en este caso es abrir un nuevo tema y poner una referencia del tema antiguo.


¿Que debo poner?
Trata de contestar las siguientes preguntas, si no puedes contestar al menos estas preguntas es muy probable que no recibas respuesta:

¿Que tratas de hacer?: Explicación del problema, trata que la explicación sea sencilla, regularmente si es sencillo también es corto. Para saber si tu explicación fue efectiva trata de leer tu explicación y pregúntate si estas dando suficientes detalles para que la otra persona lo entienda.

¿Como estas tratando de hacer?: Regularmente código suficiente para replicar tu problema, puedes simplificar tu problema a una función para no tener que postear varios módulos. Recuerda incluir lo necesario para poder ejecutar tu código sin problemas.

¿Que es lo que obtienes?: ¿Obtienes un error? pon todo lo que arroja, ¿no es el resultado deseado? también pon lo que te arroja.

¿Que esperas obtener?: Esperas que haga otra cosa en vez de recibir un error u otro resultado, pon que esperas obtener.

Si estas usando algún recurso en tu código como, un archivo de texto, un xml, html, una url, una imagen, etc... No olvides ponerlo en el tema.

Datos adicionales que deberías de agregar:
  • Sistema operativo.
  • Versión de python.
  • Versión de la libreria o framework que estés usando.

Problemas de instalación:
Para este problema solamente necesitamos, el sistema operativo, la versión de python, el nombre y versión de la librería y por supuesto los errores que te arrojan.

Python en general o librerías de python:
La mayoría de estos problemas se resuelve con una búsqueda y/o leída en la documentación o en google. Basta con poner los datos mencionados arriba (las preguntas).

Desarrollo web:
Si estas usando django (o algún otro web framework) utiliza el mensaje de error que arroja así como la excepción y el stacktrace que arroja para detectar tu problema. De ser posible pon esta información en tu tema. Muchas veces con esta información es mas que suficiente para solucionar un problema.

Si estas tratando de simplificar o resolver un problema que se ve bastante común, entonces probablemente ya existe una librería o una manera estándar de resolverlo. Un consejo para aprender django o cualquier otro web framework es con un libro, un libro no solamente te va a llevar de la mano a hacer todo el recorrido del web framework, si no que también te planteas problemas y soluciones a puntos que probablemente uno no pensaría. Y no olvides también darle una leída a las partes importantes de la documentación de vez en cuando, especialmente en los cambios de versión.

Desarrollo de aplicaciones de escritorio:
Aquí ademas de poner la información requerida (las preguntas de arriba), debes de poner que framework estas usando (pygtk, pyqt, wxpython, tk o algún otro). Hago las mismas recomendaciones que en desarrollo web. Poner el log de error en caso de que se trate de un error. Tratar de al menos leer un libro con respecto al tema (si, aplicaciones de escritorio es un tema complejo). Y leer la documentación del framework de vez en cuando.

Librerías de terceros:
Regularmente aquí solamente hay 2 tipos de problemas, problemas de uso y/o no estas usando la librería adecuada para resolver tu problema.

Librerías de terceros - Problemas de uso:
Para este tipo de problemas es necesario que ademas de la información requerida nos des el nombre y la versión de la librería y de ser posible el error que arroja. Para este tipo de problemas es mas difícil que encuentres un libro para una librería así que tienes que apoyar mucho en la documentación y sobre todo el los ejemplos.

Librerías de terceros - Liberia inadecuada:
Este problema es bastante recurrente y fácil de resolver. Aquí simplemente necesitas que alguien apunte lo obvio y te guié o recomiende las herramientas correctas.

Problemas muy raros: Errores (bugs) en las librerías. Afortunadamente no me ha tocado un tema así.

¿Que NO debo poner?
Información innecesaria o irrelevante.

Títulos poco o nada descriptivos como: Ayuda, Urgente, Please, Ejercicios, Problema, etc...

Títulos muy generales como: Error con django, Error con python, Error con X libreria, No funciona, Problema con ejercicio, Ayuda con PyGTK, Ayuda con tarea, Tarea no me sale :(, etc...

Títulos muy largos que no llegan a nada como: ¿Como le hago para que python no me arroje este error?, Necesito ayuda para correr este script de python, Alguien sabe por que no me corre mi script, etc...

Evita: Decorar tu mensaje con comic sans, diferentes colores de letra y de fondo y ademas cambiar el tamaño de letra.

Por favor se que es difícil por el alto nivel de complejidad del español, incluso en este post estoy seguro que cometí horrores de ortografía pero por favor NO escriban de la siguiente: ola k ase?, TeNgO uN PrObLeMa CoN PaItOn, HEY COMO LE HAGO PARA HACER X EN PYTHON?.

Legibilidad es importante: No olvides separar en párrafos y usar herramientas de resaltado de código como:
[CODE][/CODE] o [HIGHLIGHT="Python"][/HIGHLIGHT]

Respeta a otros usuarios: Uno de los errores mas fáciles de cometer es insultar a otros usuarios e independientemente que el usuario se merezca o no el insulto (solo digo), no debes de caer a su nivel, trata de mantener la calma y reporta al usuario con este tipo de conducta, regularmente en este tipo de situaciones el mod se encargara de editar, borrar, ponerle puntos de infracción al usuario y en el peor de los casos banearlo si la conducta es recurrente. Al menos en foro de python, este tipo de conductas tienen política de 0 tolerancia. Así que por favor llévense bien con los otros usuarios.

Sugerencias
Muchas veces el uso de imágenes, simplifica de manera dramática la conceptualización del problema. De ser posible haz buen uso de imágenes para plantear tu problema.

Una vez terminado de escribir tu tema, olvídate de lo que sabes acerca del problema y lee tu tema, si lo entiendes sin hacer suposiciones o añadir datos que solamente tu sabes del problema, entonces probablemente esta bien hecho el tema.

Créditos
razpeitia

Nota Final:
Dejare abierto para con la finalidad de que se pueda mejorar el post.

Todos los post aquí se borraran pero si post aporta al tema, entonces sera agregado con este tema y tu nick aparecerá en los créditos. De lo contrario tu post se borrara y posiblemente recibas un mensaje privado de por que no fue aceptado.

Última edición por razpeitia; 24/04/2013 a las 09:02