Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 8677|Respuesta: 0

¿Por qué no puedes prescindir de Stackoverflow?

[Copiar enlace]
Publicado en 4/10/2016 9:30:55 | | | |
Como programador, si no has oído hablar de Stackoverflow, más te vale pensarlo. Uno de los libros de programación que los programadores más necesitan leer (de hecho, basta con dejar este para libros de programación). ):

(La página principal que Jun insertó fuertemente, la imagen de arriba es una parodia, algunos internautas no lo entendían antes, especialmente para decirlo)
Para aquellos programadores que aún no han leído el libro, es hora de comprar uno. Si aún estás indeciso, echa un vistazo a este artículo para ver por qué no puedes prescindir de StackOverflow.
La sabiduría de hacer preguntas
Cuando haces una pregunta técnica, si acabas recibiendo una respuesta útil suele depender de cómo lo hagas y de cómo hagas el seguimiento. —— Eric S. Raymond
A veces, una descripción clara de un problema, especialmente uno técnico, no es tan sencilla como parece. Hacer preguntas siempre ha sido una ciencia, pero desafortunadamente mucha gente no se da cuenta o no le presta suficiente atención. O bien, algunos que preguntan no piden ayuda en absoluto. Así que encontraremos todo tipo de preguntas que la gente no puede responder o no quiere responder:
¿Problema con regex en Java?
¿Qué es el tiempo de respuesta de SLA?
¿Cuál es la diferencia entre las clases ATL y la herencia general de clases?
Para evitar que el problema anterior se cierre o modifique, pon aquí una foto para experimentar este problema de mierda:

Puedes encontrar muchas de estas preguntas en las preguntas sin respuesta de SegmentFault, así que obviamente mucha gente no tiene la sabiduría ni la actitud para hacer preguntas. Raymond y Rick Moen escribieron un ensayo clásico sobre cómo hacer preguntas, The Smart Way (http://www.catb.org/~esr/faqs/smart-questions.html#translations), que ha sido traducido a varios idiomas, está ampliamente difundido y se puede encontrar en la edición china aquí. Stackoverflow y Segmentfalut también tienen sugerencias para hacer preguntas:
Centro de Ayuda > Preguntar
Cómo preguntar
¿Cómo hago una buena pregunta?
¿Qué tipo de preguntas son bienvenidas?
Hay demasiadas preguntas clásicas en Stackoverflow, y podemos aprender a hacer preguntas y comunicarnos con quienes responden. Cuando te acostumbras a leer preguntas en stackoverflow, inconscientemente las imitarás al hacer preguntas, evitando así hacer preguntas sin sentido. Aquí tienes algunas de las preguntas más importantes a las que debes prestar atención al hacer preguntas:
Haz una pregunta para la que el motor de búsqueda no tenga una respuesta satisfactoria (Google tiene al menos cuatro páginas).
Haz preguntas que no puedas resolver solo y que hayas probado muchas
Intenta describir el problema lo más claro posible: buena tipografía, código, indicaciones de error, imágenes, etc
Haz que tus preguntas sean útiles para otros
Debería haber una respuesta definitiva a la pregunta, y no debería haber demasiada subjetividad
Diferentes esquemas
Muchas veces esperamos encontrar una solución, pero en Stackoverflow a menudo hay ganancias inesperadas. Puedes ver diferentes soluciones a un problema, incluyendo incluso comparaciones de esas soluciones.
Supongamos que ahora quieres saber cómo llamar a un comando externo en Python, como ls -l, para imprimir un artículo bajo un directorio. Busca en Google el comando de llamada a sistema en python, y la primera es una pregunta relacionada sobre stackoverflow: llamar a un comando externo en Python. (http://stackoverflow.com/questio ... l-command-en-python) (se mostrarán problemas técnicos de Google, básicamente problemas relacionados con stackoverflow).
Luego, bajo esta pregunta, alguien resume varias formas de invocar comandos externos:
os.system()
os.popen()
subproceso.popen()
subproces.call()
subproces.run()
Y cada método también se introduce, puedes elegir el que se adapte a tu escenario de aplicación. Otro ejemplo es la pregunta: ¿Cómo comprobar si existe un archivo usando Python? (http://stackoverflow.com/questio ... exists-using-python), que describe diferentes métodos en Python para comprobar la presencia de un archivo.
Uso de herramientas
Hay muchas herramientas potentes que pueden ayudarnos a estudiar mejor los problemas; puede que conozcas la herramienta de depuración gdb, el módulo de monitorización timeit de Python, pero no conozcas las herramientas que no conoces. Muchas veces, cuando conocemos una herramienta, tenemos la sensación de encontrarnos demasiado tarde. Sin embargo, las herramientas que te gustan siempre son muy difíciles de conseguir.
En Stackoverflow, puede haber buenas herramientas en cada pregunta, respuesta o comentario, y siempre tendrás la oportunidad de encontrar las mejores que se quedan atrás.
Aquí tienes una lista de algunas de las herramientas geniales que encontré:
Truss/Strace: Rastrea las llamadas al sistema y las señales recibidas cuando se ejecuta un proceso, Strace puede rastrear las llamadas al sistema generadas por un proceso, incluyendo parámetros, valores de retorno y tiempo de ejecución. (De la pregunta: ¿Por qué leer líneas de stdin es mucho más lento en C++ que en Python?)
vprof: Una herramienta visual que analiza las características de los programas Python, como el tiempo de ejecución, el uso de memoria, etc. (De la pregunta: ¿Cómo se puede perfilar un Python?)
Regex 101: Un asistente online de expresiones regulares que puede ayudarte a entender el significado de las expresiones regulares, depurar expresiones regulares y realizar experimentos sencillos. (Del número: Aprendiendo expresiones normales)
Aquí tienes un ejemplo sencillo de Regex 101:

El proceso de pensar
Muchas veces, cuando nos encontramos con un problema, no tenemos forma de empezar y no sabemos en qué dirección pensar. Pero con stackoverflow, podemos encontrar fácilmente la solución específica y, a veces, incluso saber qué piensan los demás cuando se enfrentan a este problema.
Supongamos que quieres usar un decorador para realizar una tarea añadiendo antes y después la cadena devuelta por la función say de abajo, y piensas en definir, say así.
@makebold
@makeitalic
Def say():
regresar"Hola"
Cada llamada para decir responde Hola. Pero cómo implementar el makebold y el makeitical es un problema. En Stackoverflow, hay grandes toros que te dirán la respuesta directamente y te dejarán un enlace a la documentación de los decoradores. Pero también están los Daniels, que te contarán en detalle su proceso de pensamiento y su comprensión de los decoradores, para que puedas comprender profundamente el mecanismo del decorador.
En respuesta a la pregunta anterior, hay una respuesta que ha recibido más de 3.000 'me gusta', y que te indica cómo resolver el problema paso a paso. Primero, cuéntanos cuáles son las características de las funciones en python:
Las funciones son objetos
Se puede asignar una función a una variable
Una función puede definirse en otra función
Una función puede devolver otra función
Puedes pasar funciones como parámetros
Luego empieza a explicar qué es un decorador: en realidad es un encapsulador, que nos permite ejecutar otro código antes y después de ejecutar la función original sin modificarla. Se implementa manualmente un prototipo sencillo de decorador, seguido de la introducción de la sintaxis de decorador en Python. Por último, se enumeran algunos usos avanzados de los decoradores, incluyendo la transmisión de parámetros a los decoradores. Lee la respuesta completa, sin duda tendrás un entendimiento más profundo del decorador y entenderás el proceso de pensamiento para entender al decorador. De este modo, siguiendo este camino de pensamiento, tú mismo puedes deducir cómo utilizar a los decoradores.
Posibles puntos ciegos
Cuando no tengas preguntas que hacer, también puedes visitar stackoverflow de vez en cuando, navegar por algunas preguntas con más votos y ver qué han respondido otros. En esta vasta base de conocimiento, lo más probable es que encuentres algunos de tus puntos ciegos cognitivos y descubras contenido al que nunca has prestado atención.
Encontré algunas preguntas interesantes, como:
¿Imprimir en el terminal con colores usando Python?
¿Qué es una metaclase en Python?
¿Cuál es tu atajo más productivo con Vim?
He preparado aquí una lista de preguntas de Python de alta calidad para consultas frecuentes.
Lamento que nos hayamos conocido demasiado tarde
Así que, para encontrar StackOverflow, dos sugerencias:
Describe el problema con precisión en inglés
Búscalo en Google
Mientras no seas la primera persona en encontrarse con un problema técnico, probablemente encontrarás el mismo o similar problema en StackOverflow. Conoce pronto, enamórate de Stackoverflow pronto y verás que la vida es muy cómoda.





Anterior:La VPN de conexión por lotes de Windows modifica la tabla de enrutamiento
Próximo:node.js interfaz modular
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com