¿Qué haces cuando hay algo mal con tu proyecto de codificación y no puedes entender por qué?

Sabes, puede que no seas el adecuado para el desarrollo web.

La idea de que todo el mundo es apto para la codificación por temperamento, o que todos deberían querer serlo para la codificación, es absurda. El desarrollo de software, incluso en este nivel bajo, es un trabajo cercano, intenso y muy detallado en el que factores extremadamente pequeños que pueden ser difíciles de identificar, a menudo solo pequeños errores tipográficos como un punto y coma faltante, rompen todo. Se necesita una gran cantidad de práctica comprometida durante mucho tiempo para identificar bien sus errores o evitarlos en primer lugar. La actividad tampoco es divertida para la mayoría de las personas. Esta idea de que la gente “ama” la programación es falsa incluso para la mayoría de las personas que lo hacen para ganarse la vida. Demonios, solo hojas de estilo CSS para diseño web, que nadie considera “programación” es un trabajo detallado, irritante y detallado que requiere mucha paciencia y compromiso con las reglas complejas que se encuentran en la documentación aburrida. Se trata de tener una especie de personalidad “artística” o al menos una “ingeniería” que quiere tanto el resultado que él o ella aguantarán la caminata.

Está bien, por ejemplo, querer trabajar con seres humanos en lugar de código, y puede ser tan importante y lucrativo. Hablo como alguien que es un desarrollador bastante calificado, que se ha centrado en la tecnología más desafiante durante el año pasado o más (Angular / TypeScript / RXJS). Estas cosas son tan complejas como intelectualmente sutiles. Resulta que tengo la ética de trabajo para dominarlo durante cientos e incluso miles de horas, y tengo una motivación económica frente a mí. Pero puedo pensar en diez personas a las que respeto mucho, amigos personales que conozco bien, que nunca podrían hacer esto y nunca quisieran. A todos les ha ido bien en campos más adecuados para su naturaleza, y se atragantan cuando me ven encorvado sobre mi IDE. Hay una razón por la cual los desarrolladores se llaman “geeks” que está lejos de ser halagador. Pero ahí es donde está hoy gran parte del dinero.

El obsequio para mí es donde la pregunta admite francamente que no quiere continuar, e incluso arrojar el desorden en la comunidad SO: un absoluto no-no. Cualquier personalidad de desarrollador real tendrá problemas con un problema hasta que lo resuelva, sin importar lo que haga falta. Eso está en los genes del desarrollador. Soñando esta mierda por la noche. Y con razón. Todos los días, un desarrollador se enfrenta a nuevos problemas desconcertantes con nueva tecnología y poca documentación y presión de tiempo. Una vez que te rindes, incluso una vez, estás muerto como desarrollador. Debe probarse a sí mismo todos los días que puede resolver todos los problemas que enfrenta, o perderá la confianza en sí mismo que es esencial para la tarea.

Estoy cansado del mensaje que dice que “cualquiera puede aprender a codificar”. Si alguien dijera que “cualquiera puede aprender cálculo”, la idea sería ridículamente ridícula, ya sea por razones intelectuales o simplemente porque la motivación es carente. Pero el desarrollo actual es precisamente el mismo tipo de gran esfuerzo lógico y desafío mental que el cálculo. No todos están hechos para esto. Al igual que ir a la escuela de leyes y aprobar el examen de la barra. Imposible para la mayoría de las personas.

Lo que estás haciendo es ineficiente y no te estás dando la oportunidad de aprender. Necesita trabajar en sus habilidades de depuración. A veces, el mensaje de error le dirá dónde está el error y le dará una idea de lo que está mal. Google es tu amigo aquí y generalmente puedes encontrar una solución. Si no hay información para determinar dónde se produjo el error, es posible que deba ensuciarse y poner saltos en su código (salida bien que dice algo como “” llegó a la línea 57 “o” aquí es donde está el código del menú ” sabes dónde estás cuando el código se está rompiendo. Lo bueno de HTML, CSS y JavaScript es que todos son básicamente procesamiento línea por línea, por lo que generalmente se rompen donde se encuentra el error. disponible. Se asegura de que también esté documentando su código con comentarios. Esto le facilitará la depuración.

Lo que quieres es escribir pruebas .

Pruebas simples, pequeñas y autónomas que hacen afirmaciones sobre su código.

Por ejemplo, si tiene una pequeña función de JavaScript que convierte un par de fechas en una cadena, entonces desea 3–4 pequeñas pruebas que garanticen que esa función haga lo que espera.

Luego, si algo sale mal, encontrará las partes de su código que se “iluminan” cuando eso sucede y se asegura de que sus pruebas cubran esa ruta de código.

Inevitablemente encontrará el problema, ya que divide el problema en un conjunto de afirmaciones que verifican que su código está haciendo lo que espera que haga.

Y, como un efecto secundario enormemente beneficioso, también mejorará la calidad de su conjunto de pruebas, lo que significa que puede desarrollarse más rápido y con más confianza.

Así es como se realiza el desarrollo profesional.

De hecho, esta es la única forma en que puede desarrollar software de clase comercial sin toparse con paredes gigantes de regresiones y errores misteriosos.


Nota: Hay muchos tipos de pruebas. Las pruebas que prueban un solo componente de forma aislada se conocen como pruebas unitarias. También necesita pruebas de integración que prueben la interacción entre componentes y validen que el sistema general realmente funcione.

En los entornos en los que suelo trabajar, encontrar problemas puede ser bastante fácil, buenos depuradores, etc.

Sin embargo, HTML / CSS / JS puede ser un poco diferente … Ese cuadro se alineó hace 5 minutos, ¿por qué no ahora?

El Control de versiones es tu amigo, GitHub o lo que sea, se compromete regularmente, y cuando rompes algo, puedes retroceder a una versión que funcione.

Luego puede comparar la versión de trabajo con la que está rota y aprender por qué están ocurriendo estos errores.

Simple – ¡descomponerlo!

Primero: ¿se carga una página vacía de hello-world? – Ok, entonces el navegador llega al servidor, funciona.

¿Hizo HTML / CSS / JS pelusa usando herramientas de pelusa en línea? Ok, entonces están formateados correctamente.

DirtyMarkup · Ordena tu código HTML, CSS y JavaScript

Validador HTML en línea gratuito

La herramienta de calidad de código JavaScript

Pelusa CSS

¿Ha hecho clic derecho en la página e ‘inspeccionar’ (en Chrome) y hacer clic en la consola y verificar si hay errores? Ok, entonces js se está ejecutando sin errores.

Ahora establezca puntos de interrupción en el js (en la pestaña de fuentes del panel de inspección) y vuelva a cargar la página. Compruebe cuáles son los valores de las variables en diferentes líneas de código: ¿son lo que espera?

Y así. Hazlo paso a paso. Asegúrese de que cada paso funcione, y luego toda la aplicación debería funcionar. Así es como se crean las aplicaciones.

Es simple cuando miras una pequeña parte a la vez. Así es como lo hacen los llamados expertos también. Luego te dicen basura como ‘No estás diseñado para codificar’ en lugar de decirte cómo se puede hacer. No los escuches. Si quieres codificar, aprende estos métodos y codifica.

Dependiendo de su editor, busque complementos que verifiquen errores como ese. Puede hacer o deshacer tu frustración. Especialmente si utilizo php I. Con demasiada frecuencia he ejecutado un sitio mío y aparece en blanco, simplemente debido a una mala línea de php. Sin un enchufe, es posible que nunca sepas. Complementos de idioma web de Google para el editor que está utilizando. Css y html no arrojarían un problema mayor (generalmente) que no sea un formato incorrecto y un estilo fuera de lugar. Si ese es el caso, solo busca el elemento de estilo y modifícalo. La lógica detrás de JavaScript suele ser donde las fallas son difíciles de encontrar.

Lo depuras La depuración es una habilidad. Comience volcando datos en la consola o use el depurador JS para recorrer el código. La respuesta que recomienda las pruebas es correcta, pero si no sabe cómo depurar, las pruebas no ayudarán, solo le dirán si su código funciona o no. Cómo hacerlo funcionar es un tema diferente.