Hogyan lehet hatékonyabban megmenteni az agyadat és kódot

Ha tudnád, hogy léteznek ezek az eszközök, akkor valószínűleg már használnád őket.

Ez a cikk nem arról fog szólni, hogy a nyakát Roost állvánnyal, vagy a csuklóját osztott billentyűzettel mentheti meg - ezt már megtettem. Ez a cikk az agyad megmentéséről szól - nevezzük technikai ergonómiának.

Amikor először kezdtem teljes munkaidőben programozni, állandóan elfáradtam a mentális erőfeszítéstől. A programozás nehéz! Szerencsére megnyugodhat, ha tudja, hogy a gyakorlással könnyebbé válik, és remek mellékszereplőkkel.

Néhány nagyon kedves ember, aki megelőzött minket, olyan eszközöket találtak ki, amelyek megkönnyítik a számítógéppel való kommunikáció nehéz darabjait szegény emberi hús-agyunkon.

Meghívom Önt, hogy fedezze fel ezeket a rendkívül hasznos technikai eszközöket. Javítani fogják a fejlesztés beállításait, és enyhítik a programozás mentális stresszét. Hamarosan nem fogja elhinni, hogy nélkülük is megtehette volna.

Nem az átlagos szintaxis kiemelés

Ha még mindig olyan szintaxis kiemeléssel dolgozik, amely csak a változó és osztály nevét választja ki számodra, az aranyos. Ideje egy rovattal feljebb fordítani.

A jelenlegi VSC témám és a szintaxis kiemelés

Komolyan mondhatom, hogy a szintaxis kiemelés sokkal könnyebbé teheti a képernyőn való keresés megtalálását: az aktuális sort, ahol az aktuális kódblokk kezdődik és végződik, vagy az abszolút játékváltoztató melyik zárójelben állítsa be az am- I-in kiemelés.

Elsősorban a Visual Studio Code-ot használom, de hasonló kiterjesztések találhatók a főbb szövegszerkesztőknél.

Itt vannak a kedvenceim:

  • A Bracket Pair Colorizer különféle színű szekvenciális zárójelpárokat emel ki, ami a fészkes zárójelek és zárójelek közötti válogatás fájdalmát a múltéévá teszi.
  • A TODO Highlight hatékonyan eltávolítja azokat a mentségeket, amelyeket ön akaratlanul elkövetett, TODOés FIXMEészrevételeit megtehette azáltal, hogy valóban könnyen áttekinthetővé tette őket. Hozzáadhat saját kiemelendő kulcsszavakat is (javaslom wtf, de nem tőlem hallottad.)
  • A behúzott blokk kiemelés egy könnyen megkülönböztethető, de nem feltűnő kiemelést tesz a jelenlegi behúzott kódblokk mögé, így láthatja, hogy ennek mi a ifvége, és miért elsenem csinál ez utoljára semmit.
  • A Highlight Line egy (kissé túlságosan) világos vonalat tesz arra a helyre, ahol utoljára hagyta a kurzort. Testreszabhatja a vonal megjelenését - én állítottam az borderWidthenyémet 1px.

A fenti Visual Studio Code képen látható téma a Kabukichō. Megcsináltam.

Használjon Git kampókat

Korábban egy interaktív, előzetes elkötelezettségű ellenőrző listát hoztam nektek az inforeklámok stílusában, amely egyszerre szórakoztató és hasznos a vállalások minőségének javításához. De ez még nem minden!

A Git horgok olyan szkriptek, amelyek automatikusan futnak a munkafolyamat előre meghatározott pontjain. Használja őket jól, és rengeteg agyteljesítményt takaríthat meg.

A   pre-commithorog emlékszik olyan dolgokra, mint a szösz és a formátumkód, és még helyi teszteket is futtat az Ön számára, mielőtt letörölhetetlenül eltolna valami kínos dolgot.

A horgok kissé bosszantóak lehetnek a megosztásra (a .git/hookskönyvtárat nem követik nyomon, és így nem hagyják ki, amikor klónozunk vagy elágazunk egy adattárban), de erre van egy keretrendszer: a zavaróan elnevezett előzetes bekötési keretrendszer, amely lehetővé teszi megosztható konfiguráció létrehozását fájl a Git hook pluginekről, nem csak a pre-commit.

Mostanában időm nagy részét Python-ban kódolom, így itt van a jelenlegi kedvencem .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] 

Rengeteg támogatott horog fedezhető fel.

Használjon típusú rendszert

Ha olyan nyelveken ír, mint a Python és a JavaScript, szerezzen magának korai születésnapi ajándékot, és kezdjen el statikus típusú rendszert használni. Ez nem csak a kóddal kapcsolatos gondolkodásmód javítását, hanem a típushibák egyértelművé tételét is lehetővé teszi egyetlen sor futtatása előtt.

A Python esetében szeretem a mypy használatát statikus típusellenőrzéshez. Beállíthatja pre-commitkampóként (lásd fent), és a Visual Studio Code is támogatja.

A TypeScript az én preferált módszerem a JavaScript írásához. A fordítót a Node.js használatával futtathatja a parancssoron (lásd a repóban található utasításokat), elég jól működik, ha a dobozon kívül van a Visual Studio Code, és természetesen többféle lehetőség is van a kiterjesztés integrációjára.

Lépjen ki feleslegesen a hús-agyának felveréséből

Úgy értem, nem állna egész nap a fején, hogy végezze a munkáját. Elég kényelmetlen lenne fejjel lefelé olvasni a dolgokat (legalábbis addig, amíg az agyad nem igazodik meg), és mindenesetre valószínűleg rövid időn belül kellemetlenül torlódna össze.

Anélkül dolgozni, hogy kihasználná a ma kapott technikai ergonómiai eszközöket, kicsit hasonlít a felesleges inverzióhoz - miért tenné, ha nem muszáj?