Sådan sparer du din hjernekraft og kode mere effektivt

Hvis du vidste, at disse værktøjer eksisterede, ville du sandsynligvis bruge dem nu.

Denne artikel fortæller dig ikke om at redde din hals med et Roost-stativ eller dine håndled med et delt tastatur - det har jeg allerede gjort. Denne artikel handler om at redde din hjerne - lad os kalde det teknisk ergonomi.

Da jeg først begyndte at programmere på fuld tid, blev jeg konstant træt af den mentale anstrengelse. Programmering er svært! Heldigvis kan du trøste dig med at vide, at det bliver lettere med øvelse og med en stor rollebesætning.

Nogle meget hyggelige folk, der gik forud for os, kom med værktøjer til at gøre det vanskeligt at kommunikere med computere meget lettere for vores fattige menneskelige kødhjerner.

Jeg inviterer dig til at udforske disse super nyttige tekniske værktøjer. De forbedrer din udviklingsopsætning og lindrer meget af det mentale stress ved programmering. Du vil snart ikke tro, at du kunne have gjort det uden dem.

Ikke din gennemsnitlige syntaksfremhævning

Hvis du stadig arbejder med syntaksfremhævning, der bare vælger variabel- og klassenavne til dig, er det sødt. Det er tid til at skrue det op.

Mit aktuelle VSC-tema og syntaksfremhævning

I al alvor kan syntaksfremhævning gøre det meget nemmere at finde det, du leder efter på din skærm: den aktuelle linje, hvor din nuværende kodeblok starter og slutter, eller den absolutte spilændring, hvilken parentes-sæt-am- I-in højdepunkt.

Jeg bruger primært Visual Studio Code, men lignende udvidelser kan findes til de store teksteditorer.

Her er mine favoritter:

  • Bracket Pair Colorizer fremhæver sekventielle parentesepar i forskellige matchende farver, hvilket gør smerten ved at plukke gennem indlejrede parenteser og parenteser en saga blot.
  • TODO Highlight fjerner effektivt enhver undskyldning, du måtte have haft for utilsigtet at begå TODOog FIXMEkommentere, ved at gøre dem virkelig nemme at se. Du kan endda tilføje dine egne brugerdefinerede søgeord, der skal fremhæves (jeg foreslår wtf, men du har ikke hørt det fra mig.)
  • Indented Block Highlighting sætter et let at skelne, men diskret højdepunkt bag din nuværende indrykkede kodeblok, så du kan se, hvor det ifender, og hvorfor den sidste elseslet ikke gør noget.
  • Highlight Line sætter en (lidt for) lys linje, hvor du sidst forlod markøren. Du kan tilpasse linjens udseende - jeg indstiller borderWidthmin til 1px.

Temaet afbildet i Visual Studio Code ovenfor er Kabukichō. Jeg gjorde det.

Brug Git kroge

Jeg har tidligere bragt dig en interaktiv pre-commit tjekliste i stil med infomercials, der er både sjov og nyttig til at styrke kvaliteten af ​​dine forpligtelser. Men det er ikke alt!

Git kroge er scripts, der kører automatisk på forudbestemte punkter i din arbejdsgang. Brug dem godt, og du kan spare et ton hjernekræfter.

En   pre-commitkrog husker at gøre ting som fnug og formatkode og kører endda lokale tests for dig, før du uudsletteligt skubber noget pinligt.

Kroge kan være lidt irriterende at dele ( .git/hooksbiblioteket spores ikke og dermed udelades, når du kloner eller forkaster et lager), men der er en ramme for det: den forvirrende navngivne pre-commit-ramme, som giver dig mulighed for at oprette en delbar konfiguration fil af Git hook plugins, ikke kun til pre-commit.

Jeg bruger et flertal af min tid i disse dage på kodning i Python, så her er min nuværende favorit .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] 

Der er masser af understøttede kroge at udforske.

Brug et typesystem

Hvis du skriver på sprog som Python og JavaScript, skal du skaffe dig en tidlig fødselsdagsgave og begynde at bruge et statisk system. Ikke kun vil dette hjælpe med at forbedre den måde, du tænker på kode på, det kan også hjælpe med at gøre typefejl tydelig, før du kører en enkelt linje.

For Python kan jeg godt lide at bruge mypy til kontrol af statisk type. Du kan konfigurere det som en pre-commitkrog (se ovenfor), og det understøttes også i Visual Studio Code.

TypeScript er min foretrukne måde at skrive JavaScript på. Du kan køre compileren på kommandolinjen ved hjælp af Node.js (se instruktionerne i repoen), det fungerer ret godt med Visual Studio Code ud af boksen, og der er selvfølgelig flere muligheder for udvidelsesintegrationer.

Stop med at slå din kød-hjerne unødigt

Jeg mener, du ville ikke stå på hovedet hele dagen for at udføre dit arbejde. Det ville være ret ubelejligt at læse tingene på hovedet hele tiden (i det mindste indtil din hjerne justeres), og under alle omstændigheder vil du sandsynligvis blive ubehageligt overbelastet i kort rækkefølge.

At arbejde uden at udnytte de tekniske ergonomiske værktøjer, jeg har givet dig i dag, ligner lidt unødvendig inversion - hvorfor skulle du, hvis du ikke behøver?