Programación | Original, traducido por IA
-
Está bien hacer programación competitiva siempre que te motive.
-
Programar es como escribir. Programar es una actividad creativa.
-
Haz tu propio proyecto. Escribe tu blog técnico. Programa para un proyecto que mantendrás durante años, como mantener un blog de 10 años.
-
Por lo general, no necesitas perseguir lo que está de moda en tecnología ahora, ya que muchas tendencias desaparecerán después de unos años.
-
Persigue tu curiosidad y programa por tu propio bien.
-
Intenta crear programas para ti mismo. No son tareas de trabajo.
-
Si a menudo te sientes infeliz al programar, entonces lo estás haciendo mal.
-
iOS, Android, Backend, Frontend, IA, todos son buenos. Al menos puedes intentar hacer un pequeño proyecto con ellos o aprender sobre ellos durante unos meses.
-
Depurar es ser sospechoso. No confíes en cada línea de tu código; puedes pensar en una mejor manera de hacerlo.
-
En programación, incluso un carácter o una línea de registro es importante. Te dicen algo.
-
Usar la programación para crear productos que otros usen. Es interesante tener usuarios.
-
No necesitas ser severo. Unos cientos de usuarios que realmente aman tu producto es mejor que decenas de miles que solo lo aprecian amablemente.
-
Recuerda por qué empezaste a programar y nunca lo olvides.
-
Aplica el conocimiento de programación a cada aspecto de la vida. Son lo mismo. Hacer cosas en lotes o una por una. Cómo dividir trabajos en unidades. La tecnología subyacente detrás de cada aplicación. Los detalles sutiles detrás de las solicitudes de red.
-
La abstracción y el pensamiento lógico. El pensamiento orientado a los detalles. El pensamiento de cada solución posible.
-
La verdad es la verdad. Por lo general, la computadora no se equivoca. El circuito eléctrico no se equivoca. El compilador no se equivoca. No te sientas mal cuando hay un error.
-
Busca soluciones elegantes y simples. La simplicidad es la máxima sofisticación. Debes pensar mucho para dejar lo esencial y eliminar lo extra.
-
Para lenguajes de programación, los que cumplen el trabajo están bien. Personalmente recomiendo Java y Python.
-
Sigue a Yin Wang en https://www.yinwang.org. Es uno de los pocos genios en programación, aunque él dice que los genios nunca existen.
-
El conocimiento y los principios de programación se pueden aplicar fácilmente al aprendizaje de idiomas, reparación de hardware, life hacking e investigación científica.
-
Para la mayoría de las tareas de programación, no necesitas matemáticas sofisticadas más allá de las matemáticas de secundaria.
-
Reflexiona sobre tu código antiguo después de años o mantén un proyecto de código durante mucho tiempo. Te enseñará mucho.
-
Si pierdes la pasión por programar, simplemente haz otras cosas por un tiempo.
-
El momento de las pruebas es importante. Hazlo de forma natural. A menudo no necesitas escribir pruebas para tu proyecto. Intenta no escribir pruebas, escribe pruebas unitarias, escribe pruebas de integración, escribe pruebas de API. Compáralas sabiamente.
-
Prueba editores de código con IA. Usa ChatGPT u otros chatbots con frecuencia. Como las herramientas de IA son fáciles de usar ahora, puedes enfocarte en partes más creativas o importantes.
-
Al depurar, verifica si estás usando la última versión de las bibliotecas. Si una biblioteca no tiene mantenimiento, busca clones o forks activamente mantenidos.
-
Al mejorar algo como la velocidad de red o el tiempo de ejecución de un programa, debe haber una métrica cuantitativa. De lo contrario, no sabrás exactamente si hubo una mejora trivial o un empeoramiento.
-
Para proyectos personales, está bien no escribir código de prueba, pero es mejor hacer pruebas locales después de cambiar una cantidad significativa de código. Considera el código afectado, cuánto tiempo se ejecutará en la pipeline en la nube y con qué frecuencia podría generar errores, y luego escribe código de prueba en consecuencia. Usa métodos que permitan pruebas fáciles sin afectar negativamente la experiencia del usuario.
-
Escribe código simple y elegante. Minimiza la duplicación, aunque a veces la duplicación lleva a una solución más simple. Minimiza los casos especiales. Haz que sea fácil de probar. Refactoriza para usar funciones o procesos comunes, usa recursión o bucles y busca patrones.
-
Maneja los errores adecuadamente. Piensa en la causa raíz, la responsabilidad y si podemos cambiarlo o si es un error externo. Considera el método de rescate, el alcance del impacto, dónde manejarlo, si debemos categorizar los errores, qué tan probable es que ocurra y los peores escenarios.
-
La diferencia entre usar replace o usar startWith seguido de slice es que el primero ignora la posición de la cadena. Aplica un pensamiento similar a cada detalle de la programación.
-
Minimiza los valores posibles para un elemento; usa solo un valor para un caso. No uses null si ya tenemos false. Si tenemos una bandera traducida true o false, debemos asegurarnos de que cada vez que tengamos una bandera traducida, no tratemos la ausencia de una bandera traducida como false.
-
Usa GitHub o Sourcetree para revisar bloques de código cambiados con frecuencia. Son más convenientes para leer código.
-
En programación, a menudo no hay cosas triviales. Cada carácter, el orden de los elementos de la lista, cada cadena, cada número y cada nombre de variable importan. Cada orden de ejecución y cada registro importan.
-
Haz las cosas que más te emocionen. No hay necesidad de preocuparse por no seguir la corriente principal.
-
Usa comandos con frecuencia, ya que pueden ayudar a automatizar tareas o asistir con LLMs. Las operaciones de interfaz de usuario son más difíciles de automatizar.
-
Guarda los registros de un programa, incluyendo registros locales, UAT, microservicios y registros de pipeline, en un directorio. En programación, estos registros contienen numerosas conexiones. Búscalos para identificar relaciones, recopilando datos o contexto relevantes.
-
Con los registros recopilados, cuando encuentres un problema, es más fácil determinar si lo has encontrado antes. A partir de registros anteriores, podrías saber cómo solucionarlo. Los registros dan una mejor comprensión de cómo funciona todo y cómo las computadoras ejecutan programas. A diferencia del código, los registros están relacionados con el tiempo y ofrecen más información sobre el estado de ejecución. También son más ligeros para depurar.
-
La depuración muestra mucha información, incluyendo los valores de las variables circundantes, nombres de hilos y pilas de funciones.
-
Automatiza todo, como actualizaciones de proxy y selección del mejor servidor proxy. Usa Python para escribir scripts extensivamente.