Leer, buscar, (no tener miedo de) preguntar

“Como ingenieros y desarrolladores, nos pagan para sentirnos frustrados… al mismo tiempo, siempre estamos en la escuela. Siempre estamos aprendiendo ”. - Carlos Lazos, Episodio 1 del Podcast CodeNewbie

La codificación es un viaje hacia la ambigüedad.

Ya sea que esté diseñando una API RESTful, escalando una aplicación a miles de usuarios o simplemente tratando de posicionar algo correctamente con CSS, siempre habrá cosas que no sepa.

La próxima vez que esté atascado y no sepa cómo avanzar, intente utilizar el método "Leer-Buscar-Preguntar" de Free Code Camp. Como su nombre lo indica, usted:

  1. leer la documentación o error
  2. buscar en Google
  3. pide ayuda, ¡sin miedo a pedirla!

Profundicemos en cada uno de estos.

Leer

Si sabe que necesita usar un método determinado, pero no sabe cómo implementarlo, la documentación es un excelente lugar para comenzar. Si no está seguro del método que necesita, a menudo puede encontrar una solución simplemente haciendo clic en la documentación.

Si recibe errores, lea el error. Trate de averiguar lo que está tratando de decir. Si no recibe un error, pero no sabe realmente qué está sucediendo, puede intentar depurar a través del método console.log ().

Cuando estaba construyendo mis aplicaciones Free Code Camp y no obtenía los resultados que esperaba, registraba en la consola los resultados de casi todo: declaraciones if, declaraciones de retorno de funciones, métodos de clic y métodos de sincronización.

Una herramienta útil para esto es la consola de su navegador. Si está trabajando en CodePen, también contiene una consola.

Si sigues algún blog específico (CSS Tricks es uno de los que consulto con frecuencia para CSS), ve al blog y mira si tiene artículos que te ayuden con los conceptos con los que estás luchando.

Si aún está atascado, puede que sea hora de recurrir a Google.

Buscar

Google se convertirá rápidamente en tu mejor amigo, si aún no lo es. Pero Google a veces puede convertirse en ese amigo molesto al que tienes que pinchar y pinchar un poco para obtener respuestas útiles. Para aprovechar al máximo esta amistad, hay algunas cosas a tener en cuenta.

Una de ellas es que la mayor parte del tiempo, especialmente una vez que comienzas a crear aplicaciones, no obtendrás exactamente la respuesta que necesitas para resolver mágicamente todos tus problemas. Por lo general, tendrá que tomar lo que ha aprendido y luego aplicarlo a su situación actual.

Sea específico, sea conciso

Otra cosa a tener en cuenta es cómo estructurar sus búsquedas para que pueda encontrar soluciones de manera eficiente a sus problemas específicos.

Por ejemplo, intentar reemplazar un solo carácter en una posición específica en una cadena es un problema con el que se encuentran muchos codificadores nuevos. Para resolver este problema, puede buscar en Google numerosas cosas.

"Quiero cambiar una cosa en una cadena" da como resultado una miríada de resultados.

Obtienes de todo, desde subcadenas hasta R hasta "10 formas geniales de obtener más de Buscar y reemplazar de Word" (que, como resultado de esta búsqueda, terminé agregando como favorito para leer más tarde). Sin embargo, no es exactamente lo que estamos buscando.

Al buscar en Google, especialmente cuando se trata de problemas de programación, la convención que muchos programadores tienden a seguir es:

[lenguaje de programación] [verbo] [palabras clave]

Intentémoslo en nuestro problema. Si ingresamos "javascript reemplazar carácter en cadena", obtenemos lo siguiente.

¡Eso parece mucho más cercano a lo que estamos buscando!

En este punto, haré clic en las primeras entradas para ver si serán útiles o no. De lo contrario, intentaré analizarlos en busca de palabras clave adicionales que puedan ayudar.

Entonces, en nuestro ejemplo, solo queremos reemplazar un carácter en una posición específica, no necesariamente necesitamos expresiones regulares.

El cuarto resultado de búsqueda es "¿Cómo puedo reemplazar un carácter en un índice particular en JavaScript?", Entonces hago clic en eso, luego descubro que las cadenas son inmutables y que no se puede cambiar solo un carácter.

Si aún tengo preguntas después de eso, podría agregar "en un índice" a mi búsqueda e intentar hacer otra.

Desbordamiento de pila

Los resultados de Stack Overflow pueden formar parte de una buena parte de su búsqueda de Google. Es un recurso fantástico que contiene respuestas a una enorme variedad de preguntas sobre programación. Por lo general, el autor de la pregunta ya habrá seleccionado la respuesta que mejor le funcionó, y luego esa respuesta aparecerá en la parte superior de los resultados con una marca de verificación verde.

Sin embargo, lo que casi siempre hago es repasar todas las respuestas que se han publicado, incluidos los comentarios. Estos a veces tienen algunas discusiones interesantes y otras veces la gente dice abiertamente, "esto está mal" o "esta es una mala práctica".

Una vez que conozca mis opciones y los pros y los contras de cada una, intentaré implementarlas.

(No tengas miedo de) Preguntar

Cuando ha estado buscando en círculos durante un tiempo y no ha encontrado nada que funcione, podría ser el momento de preguntarle a un ser humano real.

Los seres humanos reales pueden presentarse en todo tipo de formas:

  • tus amigos (si tienes amigos que codifican)
  • grupos de reuniones (si vas a reuniones)
  • compañeros campistas en los canales y foros de Free Code Camp Gitter
  • cualquier grupo de Slack o Facebook del que pueda formar parte, entre otros

Sin embargo, antes de preguntar, debe intentar estructurar su pregunta para optimizar tanto su tiempo como el de la persona a la que está pidiendo ayuda.

"Mi aplicación no funciona, ¿qué hago?" o "No puedo hacer que esta función funcione, ¿qué hago?" no son de mucha ayuda para nadie.

Comprenda el problema que está experimentando. Explique lo que espera que haga su código, luego compárelo con lo que realmente está haciendo. Explique lo que ha intentado hasta ahora e incluya fragmentos de código si cree que le ayudarán. (La mayoría de las veces, lo harán).

Cuando comencé el plan de estudios, tenía miedo de hacer preguntas en los foros o salas de chat, por dos razones:

Uno se reducía al orgullo: sentí que debería poder averiguar por qué mi código estaba haciendo lo que estaba haciendo. ("Soy un ser humano inteligente y capaz. ¡Voy a resolver esto!")

La segunda razón fue la inseguridad. Estaba nervioso de que la gente no respondiera, o que nadie quisiera ayudarme, o que su explicación se me pasara por alto, o que no quisiera pedir una aclaración y tomar aún más tiempo de su día. o ... [inserte todas las excusas aquí].

Me alegra decir que definitivamente me equivoqué en todas las excusas que se me ocurrieron. La comunidad de Free Code Camp está compuesta por personas muy amables, conocedoras y pacientes.

Una vez, alguien pasó un par de horas conmigo mientras intentaba comprender un concepto y descubrir un error al mismo tiempo. Fue paciente durante todo el proceso.

Nunca tuve a alguien que me hablara mal o pensara que soy tonto o incapaz. Nunca he tenido a alguien que no responda una de mis preguntas, por muy simple que haya parecido.

Es probable que, si alguien está respondiendo preguntas en los foros o en la sala de chat, lo haga específicamente porque quiere ayudar a otras personas.

Como beneficio adicional, a veces articular claramente cuál es su problema le permite ver qué está mal. Ha habido varias ocasiones en las que hice una pregunta, solo para reconocer inmediatamente lo que tenía que hacer a continuación. (Luego le agradezco a la persona y me responde: "Bueno, en realidad no hice nada ...")

En resumen

El método Leer, Buscar, Preguntar tiene que ver con optimizar su propio tiempo y el tiempo de las personas que lo ayudarían. Le anima a aprender y encontrar soluciones a los problemas por su cuenta antes de consultar a otros. Sin embargo, si intentó hacerlo por su cuenta y no ha llegado a ningún lado, ¡no tenga miedo de pedir ayuda!

Enlaces Útiles:

Cómo empezar cuando estás atascado

Documentación de JavaScript de Mozilla

Documentación de jQuery

Introducción a la depuración de JavaScript

La sala de chat principal de Free Code Camp Gitter (hay otras salas con propósitos más específicos, como obtener ayuda con proyectos frontales o encontrar a alguien con quien emparejar el programa)

Foro de Free Code Camp

Además de los canales en línea, Free Code Camp tiene reuniones y grupos de Facebook en la mayoría de las ciudades importantes. Estoy involucrado en una pareja en mi ciudad. A través de ellos, he podido conocer gente, programar con ellos y encontrar personas con las que ir a otras reuniones.