Kako učinkoviteje prihraniti svojo možgansko moč in kodo

Če bi vedeli, da ta orodja obstajajo, bi jih verjetno že uporabljali.

Ta članek vam ne bo govoril o reševanju vratu s stojalom Roost ali zapestja z razdeljeno tipkovnico - to sem že storil. Ta članek govori o reševanju možganov - recimo temu tehnična ergonomija.

Ko sem prvič začel polno programirati, sem bil nenehno utrujen od duševnih naporov. Programiranje je težko! Na srečo se lahko malo potolažite, saj veste, da je z vajo in z odlično stransko zasedbo lažje.

Nekateri zelo prijetni ljudje, ki so bili pred nami, so prišli do orodij, s katerimi so naši revni človeški možgani bistveno olajšali težko komunikacijo z računalniki.

Vabim vas, da raziščete ta izjemno koristna tehnična orodja. Izboljšali bodo vaš razvojni program in ublažili velik del duševnega stresa pri programiranju. Kmalu ne boste verjeli, da bi lahko brez njih.

Ne poudarjanje vaše povprečne sintakse

Če še vedno delate s poudarjanjem sintakse, ki samo izbere imena spremenljivk in razredov, je to prikupno. Čas je, da to zarežemo.

Moja trenutna tema VSC in poudarjanje sintakse

Resno je s poudarjanjem sintakse na vašem zaslonu veliko lažje najti tisto, kar iščete: trenutno vrstico, kjer se začne in konča vaš trenutni blok kode, ali absolutno spreminjanje igre, ki-nosilec-set-am- I-in vrhunec.

V prvi vrsti uporabljam Visual Studio Code, vendar je podobne razširitve mogoče najti za glavne urejevalnike besedil.

Tu so moji najljubši:

  • Barvni par za oklepaje poudarja zaporedne pare oklepajev v različnih ujemajočih se barvah, zaradi česar je bolečina pri izbiranju vgnezdenih oklepajev in oklepajev preteklost.
  • TODO Highlight učinkovito odstrani kakršen koli izgovor, ki ste ga morda imeli za nenamerno zavezovanje TODOin FIXMEkomentiranje, tako da jih je zares lahko videti. Lahko celo dodate svoje ključne besede po meri, ki jih želite poudariti (predlagam wtf, vendar tega niste slišali od mene.)
  • Označevanje z zamaknjenim blokom za vaš trenutni zamaknjeni blok kode postavi enostavno ločljiv, a nevsiljiv poudarek, tako da lahko vidite, kje se to ifkonča in zakaj ta zadnji elsesploh ne naredi ničesar.
  • Highlight Line postavi (nekoliko preveč) svetlo črto, kjer ste nazadnje puščali kazalec. Videz črte lahko prilagodite - svojo nastavim borderWidthna 1px.

Tema na sliki v Visual Studio Code zgoraj je Kabukichō. Uspelo mi je.

Uporabite kljuke Git

Pred tem sem vam prinesel interaktivni kontrolni seznam pred prevzemom v slogu reklamnih sporočil, ki je hkrati zabaven in koristen za izboljšanje kakovosti vaših obveznosti. To pa še ni vse!

Git hooks so skripti, ki se samodejno zaženejo na vnaprej določenih točkah v vašem delovnem toku. Dobro jih uporabite in lahko prihranite tono možganov.

pre-commitKavelj spomni na stvari, kot so gladko in format kodo, in celo teče lokalno teste za vas, preden ste neizbrisno potisnite nekaj neprijetno.

Kljuke so lahko malce moteče za skupno rabo ( .git/hooksimeniku ni mogoče slediti in ga zato izpustiti, ko klonirate ali razkrijete repozitorij), vendar za to obstaja okvir: zmedeno poimenovan okvir za prevzem, ki vam omogoča, da ustvarite konfiguracijo za skupno rabo. datoteka vtičnikov Git hook, ne samo za pre-commit.

Dandanes večino časa porabim za kodiranje v Pythonu, zato je tukaj moj najljubši .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] 

Obstaja veliko podprtih trnkov za raziskovanje.

Uporabite sistem tipa

Če pišete v jezikih, kot sta Python in JavaScript, si priskrbite darilo zgodaj za rojstni dan in začnite uporabljati statični sistem. Ne samo, da bo to pomagalo izboljšati vaše razmišljanje o kodi, lahko bo tudi pomagalo razjasniti napake tipa, preden zaženete eno vrstico.

Za Python rad uporabljam mypy za preverjanje statičnega tipa. Lahko ga nastavite kot pre-commitkavelj (glejte zgoraj), podprt pa je tudi v Visual Studio Code.

TypeScript je moj najljubši način pisanja JavaScript-a. Prevajalnik lahko zaženete v ukazni vrstici z uporabo Node.js (glejte navodila v repo), deluje dobro s kodo Visual Studio takoj, seveda pa obstaja več možnosti za integracijo razširitev.

Nehajte po nepotrebnem prebijati svoje mesne možgane

Mislim, ne bi si ves dan stal na glavi, da bi opravljal svoje delo. Bilo bi precej neprijetno ves čas brati stvari na glavo (vsaj dokler se možgani ne prilagodijo), v vsakem primeru pa bi vas v kratkem verjetno neprijetno preobremenili.

Delo, ne da bi izkoristili tehnična ergonomska orodja, ki sem vam jih dal danes, je malo kot nepotrebna inverzija - zakaj bi, če vam ni treba?