Grug ayuda a pensar en la programación

Feb 18 2023
Ha pasado mucho tiempo desde que leí un artículo sobre programación con una sonrisa constante en mi rostro. Grug es como la mayoría de nosotros, no un desarrollador de cerebro grande, sino un simple hombre de las cavernas que quiere escribir código de calidad decente y hacer las cosas.

Ha pasado mucho tiempo desde que leí un artículo sobre programación con una sonrisa constante en mi rostro.

Grug es como la mayoría de nosotros, no un desarrollador de cerebro grande, sino un simple hombre de las cavernas que quiere escribir código de calidad decente y hacer las cosas.

Grug no es tan inteligente, pero ese podría ser su superpoder. Hay mucha sabiduría en el texto.

A mí me tomó unos minutos asimilar la forma de expresarse de Grug, ¡pero valió la pena!

Lea el artículo completo en grugbrain.dev

Aquí hay algunas pepitas de oro de Grug :

Complejidad

La complejidad es un demonio espiritual que ingresa a la base de código a través de desarrolladores y gerentes de proyecto bien intencionados pero en última instancia muy apetecibles que no tienen cerebro grug y que no temen al demonio espiritual de la complejidad o incluso saben algo sobre él en algún momento.

decir no

mejor arma contra el demonio espíritu de complejidad es la palabra mágica: "no"

no, grug no construye esa característica
no, grug no construye esa abstracción

tenga en cuenta, este buen consejo de ingeniería pero mal consejo de carrera: "sí" es la palabra mágica para roca más brillante y puesto a cargo de una gran tribu de desarrolladores

triste pero cierto: aprende "sí" y luego aprende a culpar a otros grugs cuando fallan, un consejo profesional ideal

Factorización de su código

¡No tenga en cuenta su solicitud demasiado pronto!

A los desarrolladores de grandes cerebros a menudo no les gusta esto en absoluto e inventan muchas abstracciones Inicio del proyecto

grug tuvo la tentación de alcanzar el garrote y gritar “¡cerebro grande sin código de mantenimiento! ¡Un gran movimiento cerebral en el próximo comité de arquitectura deja el código para el trato grug!”

en su lugar, grug intenta limitar el daño del desarrollador de cerebro grande al principio del proyecto dándole algo como un diagrama UML (no daña el código, probablemente lo deseche de todos modos) o exigiendo una demostración de trabajo mañana

demostración de trabajo truco especialmente bueno: obligar al cerebro grande a hacer que algo funcione realmente para hablar y codificar para ver eso hacer algo, ayudará al cerebro grande a ver la realidad en el terreno más rápidamente

Valla de Chesterton

grug entiende que todos los programadores platónicos en algún nivel desean música de esferas perfección en el código. pero el peligro está aquí, el mundo es feo y gruñón muchas veces y también debe ser el código

grug no dice que no mejore el sistema nunca, bastante tonto, pero recomiendo tomarse el tiempo de entender el sistema primero, especialmente el sistema más grande es y es respetar el código que funciona hoy, incluso si no es perfecto

Herramientas

herramienta de amor grug

un buen depurador vale peso en rocas brillantes, de hecho, también más: cuando se enfrentaba a un error, grug a menudo cambiaba todas las rocas brillantes y quizás algunos niños por un buen depurador y, de todos modos, el depurador no pesaba nada, por lo que grug puede decir

grug siempre recomienda al nuevo programador aprender muy profundamente el depurador disponible, funciones como puntos de interrupción condicionales, evaluación de expresiones, navegación de pila, etc.

Tipo Sistemas

Los sistemas de tipo muy parecidos a grug facilitan la programación. para grug, escriba los sistemas más valiosos cuando grug presiona el punto en el teclado y aparece una lista de cosas que grug puede hacer. este 90% del valor del sistema de tipos o más para grug

siempre la mayoría de los sistemas de tipo de valor vienen: hit dot see what grug can do, ¡nunca lo olvides!

Separación de intereses

Separación de preocupaciones (SoC) otra idea poderosa sobre la mente de muchos desarrolladores

aquí grug tiene una cara mucho más agria que DRY y, de hecho, escribe un ensayo de gran cerebro sobre el principio de diseño alternativo, la localidad de comportamiento (LoB) contra SoC

grug prefiere mucho poner código en la cosa que hace la cosa. ahora cuando grug mira la cosa grug sabe lo que hace, ¡siempre es un buen alivio!

Inicio sesión

grug es un gran fanático del registro y fomenta mucho, especialmente en la nube implementada. algunos no grugs dicen que iniciar sesión es caro y no importante. grug solía pensar de esta manera no más

Los consejos de grug sobre el registro son:

  • registrar todas las ramas lógicas principales dentro del código (si/para)
  • si la "solicitud" abarca varias máquinas en la infraestructura de la nube, incluya el ID de la solicitud en todos para que se puedan agrupar los registros
  • si es posible, haga que el nivel de registro se controle dinámicamente, de modo que grug pueda activarse/desactivarse cuando necesite un problema de depuración (¡muchos!)
  • si es posible, cree un nivel de registro por usuario, por lo que puede depurar un problema específico del usuario

El desarrollador de cerebro ultra más grande dijo una vez:

La optimización prematura es la fuente de todos los males

grug recomienda siempre tener un perfil de rendimiento concreto y real que muestre un problema de rendimiento específico antes de comenzar a optimizar.

nunca se sabe cuál podría ser el problema real, ¡grug a menudo sorprende! ¡muy a menudo!

API

Los creadores de API piensan demasiado abstracto y con un gran cerebro

por lo general, grug no se preocupa demasiado por los detalles de la api: quiere escribir un archivo u ordenar una lista o lo que sea, solo quiere llamar a write() o sort() o lo que sea

pero los desarrolladores de Big Brain API dicen:

no tan rápido, grug! ¿Ese archivo está abierto para escritura? ¿definiste un comparador para ese tipo?

grug encuentra la mano autocontrolada alcanzando el club de nuevo

No me importan esas cosas en este momento, solo quiero ordenar y escribir el archivo, ¡sr gran cerebro!

Desarrollo Front End

algunos no grugs, cuando se enfrentan al desarrollo web dicen:

Lo sé, dividiré mi base de código de front-end y back-end y usaré una nueva biblioteca SPA que se comunica con un back-end de GraphQL JSON API a través de HTTP (lo cual es divertido porque no estoy transfiriendo hipertexto)

ahora tienes dos guaridas de espíritus demoníacos de complejidad

grug no es como las grandes bibliotecas front-end complejas que todos usan

grug hacer htmx e hiperíndice para evitar

mantener la complejidad baja, HTML simple, evitar mucho javascript, el éter natural del demonio de la complejidad del espíritu

tal vez trabajen para ti, pero no hay puesto de trabajo, lo siento

reacciona mejor para el trabajo y también para algún tipo de aplicación, pero también te conviertes en un acólito del demonio de la complejidad, te guste o no, lo siento, así es la vida frontal

Miedo a parecer tonto

¡nota! muy bueno si senior grug está dispuesto a decir públicamente: "hmmm, ¡esto es demasiado complejo para grug"!

muchos desarrolladores Miedo a parecer tonto (FOLD), grug también en un momento FOLD, pero grug aprende a superar: muy importante senior grug dice "esto es demasiado complicado y me confunde"

esto hace que esté bien que los grugs junior admitan que son demasiado complejos y no los entiendan tan bien, ¡a menudo ese es el caso! FOLD fuente principal de poder demoníaco de complejidad sobre el desarrollador, ¡especialmente los grugs jóvenes!

Sindrome impostor

nota grug muchos de esos impostores se sienten en desarrollo

ahora, grug hace softwares de mucho trabajo y un éxito moderado de código abierto, ¡y sin embargo, el mismo grug a menudo no siente ni idea de lo que está haciendo! ¡muy a menudo! grug todavía teme cometer errores romper el código de todos y decepcionar a otros grugs, impostor!

es tal vez la naturaleza de la programación para que la mayoría de los grug se sientan impostores y estén de acuerdo con lo mejor: nadie es un impostor si todos son impostores

cualquier grug joven que lea hasta aquí probablemente lo haga bien en la carrera del programa, incluso si las frustraciones y las preocupaciones siempre están ahí, lo siento