Cómo ahorrar su capacidad intelectual y codificar de manera más eficiente

Si supiera que existen estas herramientas, probablemente las estaría usando ahora.

Este artículo no le informará sobre cómo salvar su cuello con un soporte Roost o sus muñecas con un teclado dividido; ya lo he hecho. Este artículo trata sobre salvar su cerebro; llamémoslo ergonomía técnica.

Cuando comencé a programar a tiempo completo, me encontraba constantemente cansado por el esfuerzo mental. ¡La programación es difícil! Afortunadamente, puedes consolarte sabiendo que se vuelve más fácil con la práctica y con un gran elenco de apoyo.

Algunas personas muy agradables que nos precedieron inventaron herramientas para hacer que las partes difíciles de comunicarse con las computadoras sean mucho más fáciles para nuestros pobres cerebros humanos.

Los invito a explorar estas herramientas técnicas súper útiles. Mejorarán su configuración de desarrollo y aliviarán gran parte del estrés mental de la programación. Pronto no creerá que podría haberlo hecho sin ellos.

No es el resaltado de sintaxis promedio

Si todavía está trabajando con el resaltado de sintaxis que solo selecciona los nombres de variables y clases por usted, eso es lindo. Es hora de subirlo un poco.

Mi tema VSC actual y resaltado de sintaxis

Con toda seriedad, el resaltado de sintaxis puede hacer que sea mucho más fácil encontrar lo que está buscando en su pantalla: la línea actual, donde comienza y termina su bloque de código actual, o el cambio absoluto del juego which-bracket-set-am- I-in destacado.

Utilizo principalmente Visual Studio Code, pero se pueden encontrar extensiones similares para los principales editores de texto.

Aquí están mis favoritos:

  • Bracket Pair Colorizer resalta pares secuenciales de corchetes en diferentes colores a juego, haciendo que el dolor de elegir entre corchetes anidados y paréntesis sea cosa del pasado.
  • TODO Highlight elimina de manera efectiva cualquier excusa que pueda haber tenido para cometer comentarios TODOy FIXMEcomentarios involuntarios al hacerlos realmente fáciles de ver. Incluso puede agregar sus propias palabras clave personalizadas para resaltarlas (sugiero wtf, pero no lo escuchó de mí).
  • El resaltado de bloque con sangría pone un resaltado fácil de distinguir pero discreto detrás de su bloque de código con sangría actual, para que pueda ver dónde iftermina y por qué el último elseno hace nada en absoluto.
  • Highlight Line pone una línea (un poco demasiado) brillante donde dejó el cursor por última vez. Puedes personalizar la apariencia de la línea; configuré la borderWidthmía en 1px.

El tema que se muestra en Visual Studio Code arriba es Kabukichō. Lo hice.

Usa ganchos de Git

Anteriormente les traje una lista de verificación interactiva previa al compromiso en el estilo de infomerciales que es a la vez divertida y útil para reforzar la calidad de sus compromisos. ¡Pero eso no es todo!

Los ganchos de Git son scripts que se ejecutan automáticamente en puntos predeterminados de su flujo de trabajo. Úselos bien y podrá ahorrar un montón de capacidad intelectual.

Un   pre-commitgancho recuerda hacer cosas como pelusa y formato de código, e incluso ejecuta pruebas locales antes de que empujes indeleblemente algo vergonzoso.

Los ganchos pueden ser un poco molestos de compartir (el .git/hooksdirectorio no se rastrea y, por lo tanto, se omite cuando clona o bifurca un repositorio) pero hay un marco para eso: el marco de pre-compromiso de nombre confuso, que le permite crear una configuración que se puede compartir archivo de complementos de gancho de Git, no solo para pre-commit.

Paso la mayor parte de mi tiempo estos días codificando en Python, así que aquí está mi favorito actual .pre-commit-config.yaml:

fail_fast: true repos: - repo: //github.com/pre-commit/pre-commit-hooks rev: v3.1.0 # Use the ref you want to point at hooks: - id: detect-aws-credentials - id: end-of-file-fixer - id: trailing-whitespace - repo: //github.com/psf/black rev: 19.3b0 hooks: - id: black - repo: //github.com/asottile/blacken-docs rev: v1.7.0 hooks: - id: blacken-docs additional_dependencies: [black==19.3b0] - repo: //github.com/pre-commit/mirrors-mypy rev: v0.780 hooks: - id: mypy - repo: local hooks: - id: isort name: isort stages: [commit] language: system entry: isort types: [python] - id: black name: black stages: [commit] language: system entry: black types: [python] 

Hay toneladas de ganchos compatibles para explorar.

Utilice un sistema de tipos

Si escribe en lenguajes como Python y JavaScript, obtenga un regalo de cumpleaños anticipado y comience a usar un sistema de tipos estáticos. Esto no solo ayudará a mejorar su forma de pensar sobre el código, sino que también puede ayudar a aclarar los errores de tipo antes de ejecutar una sola línea.

Para Python, me gusta usar mypy para la verificación de tipos estáticos. Puede configurarlo como un pre-commitgancho (ver arriba) y también es compatible con Visual Studio Code.

TypeScript es mi forma preferida de escribir JavaScript. Puede ejecutar el compilador en la línea de comando usando Node.js (vea las instrucciones en el repositorio), funciona bastante bien con Visual Studio Code listo para usar y, por supuesto, hay múltiples opciones para integraciones de extensiones.

Deja de golpear innecesariamente tu cerebro de carne

Quiero decir, no estarías de cabeza todo el día para hacer tu trabajo. Sería bastante incómodo leer las cosas al revés todo el tiempo (al menos hasta que tu cerebro se adapte) y, en cualquier caso, es probable que te congestiones incómodamente en poco tiempo.

Trabajar sin aprovechar las herramientas técnicas y ergonómicas que le he dado hoy es un poco como una inversión innecesaria: ¿por qué lo haría, si no es necesario?