Kymmensormijärjestelmä ohjelmoijille
Kymmensormijärjestelmällä voit kirjoittaa ja muokata koodia etsimättä näppäimiä. Katse pysyy näytössä, kun kirjoitat funktiota, komentoa tai ohjeita tekoälyagentille. Ohjelmoijan harjoituksiin kuuluvat kirjainten lisäksi numerot, symbolit ja koodin nimeämiskäytännöt.
Keskeiset asiat
- Harjoittele käyttämäsi kielen numeroita, symboleja ja nimeämiskäytäntöjä. Tavallinen AgileFingers-kurssi sisältää numerot ja erikoismerkit.
- Käytä ohjelmointiharjoituksia koodin kirjoittamiseen tai liitä oma katkelma omiin teksteihin.
- Voit työskennellä tehokkaasti Vimillä tai opettelemalla kehitysympäristösi pikanäppäimet.
- Tarkista tekoälyagentin tuottama koodi ja opi korjaamaan sitä. Vastuu on sinulla, vaikka et kirjoittaisi koodia itse.
Miksi näppäimistön hallinta auttaa ohjelmoinnissa
Periaate on sama: kirjoitat katsomatta näppäimistöä. Säästät aikaa ja keskityt tehtävään merkkien syöttämisen sijasta.
Ohjelmointi vaatii useampien näppäinten tuntemista kuin esseen kirjoittaminen. Lyhytkin lauseke, kuten items[index] += value;, yhdistää kirjaimia, hakasulkeita, operaattorin ja puolipisteen. Muut lausekkeet lisäävät aaltosulkeita, kaarisulkeita, lainausmerkkejä ja numeroita. Pienillä kirjaimilla kirjoitettujen sanojen testi ei harjoita näitä yhdistelmiä. Kun katsot alas etsiäksesi symbolin, koodin lukeminen keskeytyy.
Ehtoa muuttaessa pitää tarkistaa myös ympäröivä koodi. Näppäimistöön katsomatta voit jatkaa lukemista kirjoittaessasi. Yli 20 vuoden ohjelmistokehityksen jälkeen arvostan tätä yhä koodia muokatessa, testejä lisätessä ja päätteessä työskennellessä.
Harjoittele todella käyttämiäsi yhdistelmiä
Ehdot, silmukat ja funktioiden määrittelyt toistuvat koodissa. JavaScript-silmukan otsake for (let i = 0; i < items.length; i++) sisältää sulkeita, puolipisteitä, vertailun ja kasvatuksen. Jos jokin kohta pysäyttää, harjoittele sellaisia lausekkeita. Oman kielen syntaksia kannattaa osata kirjoittaa nopeasti.
Myös isot kirjaimet ja nimeämiskäytännöt merkitsevät. userAccount ja user_account vaativat erilaisia sormiliikkeitä ja tottumuksia. Pythonin tyyliopas suosittelee funktioille ja muuttujille pieniä kirjaimia ja sanojen väliin alaviivoja eli tyyliä snake_case. Javan muuttujat käyttävät yleensä tyyliä camelCase, kuten userAccount. Luokilla ja vakioilla on omat käytäntönsä. Totuttele kirjoittamaan kaikkia sujuvasti.
Harjoittelutarpeet siis eroavat: Pythonin nimissä on usein enemmän alaviivoja, Javan nimissä isoja kirjaimia sanan keskellä. Jos aiot ohjelmoida Pythonilla, Python-harjoitukset sopivat siksi paremmin kuin Java-harjoitukset.
Pyri ymmärtämään kirjoittamasi koodin toiminta ja rakenne. Huomaa, missä ehto loppuu ja lohko alkaa. Pythonissa sisennys ryhmittelee lauseet, joten sen muuttaminen voi muuttaa ohjelman toimintaa. Älä kopioi koodia ajattelematta.
Harjoittele numeroita ja erikoismerkkejä
Tavallinen AgileFingersin kirjoituskurssi sisältää numerot ja erikoismerkit. Palaa näihin harjoituksiin, jos numero, symboli tai näppäinyhdistelmä hidastaa. Jos tavallinen teksti ei vielä suju, aloita siitä ennen koodia. Kun kirjaimet ovat hallussa, siirry suoraan tarvitsemiisi näppäimiin. Vuosien ohjelmoinninkin jälkeen joitakin yhdistelmiä voi joutua etsimään.
Kuvassa on yhdysvaltalainen QWERTY-asettelu. Siinä aaltosulkeet kirjoitetaan Shiftillä ja hakasulkeiden näppäimillä. Muut asettelut sijoittavat merkit eri kohtiin ja voivat käyttää AltGr:ää. Valitse harjoituksiin käyttöjärjestelmän aktiivista asettelua vastaava näppäimistö: käytettävissä olevat merkit riippuvat siitä. Asettelun voi vaihtaa asetuksista.
Käytä kehitysympäristöä näppäimistöllä
JetBrainsin kehitysympäristöissä ja Visual Studio Codessa voit etsiä tiedostoja, seurata kutsuja ja nimetä symboleja uudelleen näppäimistöllä. Opettele nykyisen editorisi pikanäppäimet. Jos haluat muokata ilman hiirtä, Vim-lisäosa tarjoaa nämä ja paljon muita toimintoja.
Aloita päivittäin toistuvista toimista:
- Etsi tiedostoja ja symboleja: avaa tiedosto tai siirry funktioon selaamatta kansiopuuta.
- Siirry määrittelyyn ja takaisin: seuraa kutsua toteutukseen ja palaa kutsuvaan kohtaan.
- Nimeä symboli uudelleen: käytä editorin työkalua, jos kieli on tuettu. Tarkista esikatselu ja muuttuvat viittaukset.
- Suorita rajattu testi: toista olennainen testi ja siirry ilmoitettuun virheeseen näppäimistöllä.
- Valitse ja muokkaa: opettele liikkumaan sanoittain, laajentamaan valintaa, kommentoimaan rivejä ja vaihtamaan editorin ja päätteen välillä.
Opettele ensin toimintohaku, jotta löydät komennot ilman valikoita. JetBrainsin tavallisissa näppäinmäärityksissä kaksi Shift-painallusta avaa Search Everywhere -haun. JetBrainsin pikanäppäinopas käsittelee liikkumista ja näppäinmäärityksiä.
VS Coden komentovalikoima avautuu yleensä yhdistelmällä Ctrl+Shift+P Windowsissa ja Linuxissa tai Cmd+Shift+P macOS:ssä. Pikanäppäineditorista voi etsiä komentoja ja muuttaa yhdistelmiä. Jos komento toimii toisin, tarkista käytössä olevat määritykset. Harkitse oletusmääritysten muuttamista: alkuperäinen valinta on yleensä huolellisesti suunniteltu.
Käytä täydennystä pitkille nimille ja koodikatkelmia toistuvalle koodille. Esimerkiksi VS Coden IntelliSense tarjoaa täydennyksiä ja parametritietoja. Kirjoitusharjoituksessa syötä koko katkelma itse. Projektissa käytä editorin apua, mutta tarkista lisäykset. Jos toistat samoja napsautuksia, etsi pikanäppäin ja kokeile sitä seuraavassa tehtävässä.
Opettele sujuva työskentely päätteessä
Kehittäjät ja ylläpitäjät käyttävät päätettä komentojen ja testien suorittamiseen, lokien lukemiseen, tiedostojen hallintaan ja etäjärjestelmiin. Komennot yhdistävät nimiä, polkuja, valitsimia, lainausmerkkejä, putkia ja numeroita. Lue syöte ennen suoritusta. Kun et katso näppäimistöä, voit seurata komentoa sitä kirjoittaessasi ja korjatessasi.
Opettele komentotulkkisi muokkaustoiminnot. Bashin oletusarvoisissa Emacs-tyylisissä Readline-määrityksissä Ctrl+A siirtyy rivin alkuun ja Ctrl+E loppuun. Ctrl+R hakee historiasta taaksepäin. Tab yrittää täydentää esimerkiksi komennon tai tiedostonimen. Bashin käsikirjan Readline-osio selittää nämä toiminnot. Muut komentotulkit ja omat määritykset voivat poiketa.
Historia ja täydennys säästävät uudelleen kirjoittamiselta. Jos yksi argumentti on väärin, siirrä kohdistin siihen ja korjaa se koko komennon sijasta. Tarkista ennen Enteriä polku, valitsimet ja työhakemisto. Tarkista etäjärjestelmässä myös komentotulkki: muokkauskomennot voivat erota paikallisista.
Mittaa tarkkuutta ja nopeutta
Seuraa nopeuden lisäksi virheitä. Jos korjaat jatkuvasti samaa symbolia, harjoittele sitä, vaikka kokonaistulos olisi hyvä. Editori voi havaita väärin kirjoitetun nimen mutta ei välttämättä kelvollista operaattoria, joka tekee muuta kuin tarkoitit. Tarkista ja testaa koodia edelleen.
Aloita niin hitaasti, että kirjoitat tarkasti. Nosta vauhtia, kun kirjoitat varmasti, teet vähän virheitä ja huomaat ja korjaat ne heti. Vertaa samalla harjoituksella, asettelulla, harjoitusrajalla ja tarkkuusmenetelmällä saatuja tuloksia. Vaikeampi teksti voi laskea tulosta kehityksestä huolimatta. Kurssin alussa tehtävät ovat helppoja, sitten yhdistelmät vaikeutuvat. Nopeus voi tuntua laskevan, vaikka vain tehtävän vaikeus on muuttunut.
AgileFingers näyttää sanoja tai merkkejä minuutissa. Muunnoksessa viisi merkkiä vastaa sanaa, joten pitkä tunniste ei ole vain yksi sana. Ensimmäisen yrityksen tarkkuus laskee virheen mukaan korjaamisen jälkeenkin. Lopullisen tekstin tarkkuus arvioi harjoitukseen jäävän tekstin. Muista menetelmä tuloksia verratessa, sillä arvot voivat erota. Valitse tarpeeseesi sopiva asetus.
AgileFingersin harjoitukset ohjelmoijille
Iloiset värit, kuvat ja helppokäyttöisyys voivat saada AgileFingersin näyttämään vain aloittelijoiden, opettajien ja oppilaiden työkalulta. Se sopii kouluihin, mutta sen ovat tehneet tietojenkäsittelystä innostuneet ammattilaiskehittäjät. Halusimme siitä hyödyllisen myös kokeneimmille osaajille. Mukana on kirjallisuutta vaikeiden tekstien harjoitteluun pelkkien yksinkertaisten sanojen ja irrallisten näppäinyhdistelmien lisäksi sekä harjoituksia eri ohjelmointikielillä. Tarjolla on myös retroteemoja ja tumma väritys. Ne ovat hillitympiä; jos vaalea käyttöliittymä rasittaa silmiäsi, kokeile, mikä näkymä tuntuu mukavimmalta.
Ohjelmointiharjoituksissa on Pythonia, JavaScriptiä, Javaa ja muita kieliä. Valitse kieli ja kirjoita näytetty koodi. Näppäimistö- ja sormiohjeet näyttävät tarvittavat näppäimet. Jokaisen harjoituksen jälkeen saat tiedon nopeudesta ja tarkkuudesta.
Harjoittele omalla koodilla
Voit käyttää omaa koodia AgileFingersin omissa teksteissä. Liitä lyhyt harjoiteltava katkelma, anna nimi ja tallenna. Valitse se sitten omasta luettelostasi. Sopiva katkelma voi olla sisäkkäisiä ehtoja sisältävä funktio, liitoksia käyttävä SQL-kysely tai Bashin argumenttien jäsennin. Valitse ymmärtämääsi koodia, jotta voit keskittyä kirjoittamiseen.
Jos alaviivat ja numerot ovat vaikeita, valitse niitä sisältäviä nimiä. Jos lainausmerkit ja sulkeet tuottavat virheitä, valitse niitä sisältävä katkelma. Tarkista näytetty teksti ennen aloitusta, etenkin jos alkuperäisessä on sarkaimia tai asettelustasi puuttuvia merkkejä. Voit harjoitella myös teknisiä selityksiä ja tekoälyagentin ohjeita.
Tekoälyagentit tarvitsevat selkeät ohjeet ja tarkistuksen
Agentti voi tuottaa koodia, suorittaa tarkistuksia ja korjata työtään. Sinun pitää silti selittää tavoitteesi ja tarkistaa muutokset. GitHubin ohjelmointiagentteja koskevat ohjeet suosittelevat selkeitä tehtäviä, ihmisen tekemää katselmointia ja tuotetun koodin testaamista.
Vaikka kirjoittaisit vähän koodia, kuvaat vaatimuksia, annat esimerkkejä, ilmoitat virheistä ja kommentoit tuloksia. "Paranna lomaketta" jättää agentin arvaamaan. Kerro, mikä syöte epäonnistuu, mitä käyttäjän pitää nähdä ja minkä pitää toimia edelleen. Muuta ohjeita vaatimusten muuttuessa tai agentin ymmärtäessä väärin. Hyödylliset yksityiskohdat lisäävät sopivan ratkaisun mahdollisuutta. Agenttien kanssa saatat jopa kirjoittaa enemmän kuin itse ohjelmoidessa. Koodissa mietit jokaista symbolia ja tavoittelet tiiviyttä, luettavuutta ja ylläpidettävyyttä. Ohjeissa selität mahdollisimman tarkasti säästämättä samalla tavalla sanoja. Siinä on jotain huvittavaa: tekoälyn kirjoittaessa koodin näppäimistötaito voi olla entistä hyödyllisempi.
Joidenkin mielestä näppäimistö jää pian tarpeettomaksi, koska ohjeet voi sanella. Sanelu auttaa luonnoksen tekemisessä, mutta muokkaaminen vaatii työtä: polku pitää korjata, muuttuja nimetä uudelleen tai yksi ehto poistaa pitkästä ohjeesta. Jos sanelu sopii sinulle, käytä sitä. Itse harjoittelisin silti näppäimistömuokkausta pienten korjausten tekemiseen omin käsin. Aina ei myöskään huvita puhua mikrofoniin koko työpäivää. Jopa hyvin ulospäinsuuntautunut ihminen, joka puhuu kaikille ja kaikelle, tietokoneillekin, tarvitsee äänelleen lepoa. Joskus haluaa työskennellä hiljaa. Silloin näppäimistö on paikallaan.
Minusta olisi epämukavaa rakentaa tuotetta, jonka toimintaa en pystyisi selittämään. Agentin varma vastaus ei todista käyttöoikeustarkistusta oikeaksi tai reunatapauksia huomioiduiksi. Jos tuote on sinun, vastaat päätöksistä. Opettele riittävästi tunnistaaksesi ongelman ja selittääksesi korjauksen. Ohjelmointikieli opitaan kirjoittamalla paljon koodia. Jos haluat vain ymmärtää syntaksia ilman omia ohjelmia, AgileFingersin harjoitukset voivat auttaa.
Jos haluat erinomaiseksi ohjelmoijaksi, lue edelleen koodia ja tee omia muutoksia. Agentteja voi käyttää apuna, mutta tarkista niiden työ huolellisesti ja arvioi ehdotuksia kriittisesti. AgileFingersin ohjelmointiharjoitukset auttavat vaikeimmissa symboleissa ja rakenteissa.
Vimin ja Neovimin muokkauksen perusteet
Vim on tekstieditori, jossa näppäinkomennoilla liikutaan tiedostoissa ja tehdään muutoksia muutamalla painalluksella ilman hiirtä. Neovim perustuu Vimiin ja säilyttää saman muokkausmallin. Molemmissa tekstin syöttämisellä ja muokkaamisella on eri tilat. Normaalitilassa dd poistaa nykyisen rivin; ciw muuttaa kohdistimen alla olevan sanan ja avaa lisäystilan korvaavaa sanaa varten. Neovimin viralliset ohjeet käsittelevät liikkumista, muokkaamista ja muita toimintoja.
Opettele komennot editorissa, jossa näet vaikutuksen. Joissakin Neovim-jakeluissa Escape, :Tutor ja Enter avaavat vuorovaikutteisen opastuksen. Jos se on poistettu käytöstä, suorita päätteessä nvim --clean ja yritä uudelleen. Tämä lataa Neovimin oletusasetukset. Vimissä seuraa järjestelmäsi vimtutor-ohjeita.
Tee pieni osa opastuksesta ja toista ilman ohjeita. Avaa sitten kopio tutusta tiedostosta ja vaihda samoilla komennoilla nimi tai poista rivi. Opettele muutama yleinen muokkaus ennen pitkiä komentolistoja.
Kehitysympäristön toimintoja Neovimissä
Neovim tukee lisäosia tiedostohakuun, navigointiin, täydennykseen, diagnostiikkaan ja muotoiluun. Voit tehdä asetukset itse tai valita valmiiksi määritellyn jakelun. LazyVim on tällainen paketti. Se tarjoaa monia tuttuja IDE-toimintoja, mutta tarvitset silti kielesi työkalut. Pikanäppäinopas ja which-key-ikkuna auttavat löytämään komennot.
Vim-lisäosaa voi käyttää myös nykyisessä kehitysympäristössä. Tarkista, mitkä pikanäppäimet kuuluvat lisäosalle ja mitkä kehitysympäristölle, etenkin jos toiminta yllättää. Aloita muutamasta usein tarvitsemastasi komennosta.
Lyhyt harjoittelusuunnitelma
Valitse jotain, mikä hidasti tänään: etsimäsi symboli, usein väärin kirjoitettu nimi tai löytämättä jäänyt komento. Aloita seuraava harjoitus siitä:
- Valitse kurssista harjoiteltavan numeron tai erikoismerkin oppitunti.
- Kirjoita ohjelmointiharjoitus tai oma teksti, jossa merkki esiintyy koodissa.
- Tarkista tulos ja toista väärin kirjoitettu kohta riittävän hitaasti onnistuaksesi.
- Palaa editoriin tai päätteen komentotulkkiin ja käytä harjoiteltua asiaa oikeassa koodissa tai komennossa.
Harjoittele myös tavallista tekstiä. Kommentit, dokumentaatio ja tekoälyohjeet ovat olennainen osa työtä. Käytä kirjallisuutta AgileFingersin teksteistä tai laadi ja kirjoita uudelleen omia teknisiä muistiinpanojasi. Jos haluat rentoutua oppien samalla, kokeile kirjoituspelejä.
Ohjelmoijien kysymyksiä
Nämä kysymykset toistuvat Redditissä keskusteltaessa näppäimistöön katsomatta kirjoittamisesta IT-työssä.
Miksi sanat sujuvat nopeasti mutta koodi hitaasti?
Voit tuntea kirjaimet hyvin mutta epäröidä sulkeissa, lainausmerkeissä, numeroissa ja isoissa kirjaimissa. Vieras syntaksi hidastaa myös. Valitse lyhyt ymmärtämäsi katkelma ja harjoittele vaikeita yhdistelmiä. Vertaa yrityksiä samalla katkelmalla. Ohjelmointiharjoitukset auttavat tottumaan koodin kirjoittamiseen.
Pitääkö kymmensormijärjestelmä oppia ennen ohjelmointia?
Voit oppia molempia rinnakkain. Jatka ohjelmien tekemistä ja käytä hieman aikaa vielä etsimiisi näppäimiin. Projektin aloittamiseen ei tarvita suurta kirjoitusnopeutta. Jos olet jo ohjelmoija, harjoittelun voi sovittaa tavalliseen työpäivään.
Pitääkö näppäinasettelua vaihtaa koodia varten?
Aloita työssä käyttämästäsi asettelusta, etenkin jos tarvitset sitä omaan kieleesi. Harjoittele symboleja ennen vaihtamista. Toinen asettelu voi sopia, mutta huomioi kodin ja työn näppäimistöt. Vaihtelu voi olla hankalaa, jos kotona on vahvasti mukautettu ohjelmoijan näppäimistö ja työssä tavallinen eri määrityksillä.
Valitse sopivat määritykset ja tarkista, voitko käyttää niitä molemmilla koneilla. Pidä yleiset kirjaimet, symbolit ja pikanäppäimet mahdollisuuksien mukaan samoina, jotta et joudu opettelemaan uudelleen. Jos työpistettä ei voi sovittaa kodin näppäimistöön, säilytä myös tavallisen asettelun käyttötaito. Opettele uudet paikat ennen kuin tarvitset niitä kiireisenä työpäivänä.
Kokeile seuraavalla ohjelmointikerralla
Huomaa koodia muokatessa tai komentoa kirjoittaessa näppäimet, joiden kohdalla vielä pysähdyt ja katsot alas. Harjoittele niitä ohjelmointiharjoituksissa tai lisää katkelma omiin teksteihin. Käytä editoria ja tekoälyä edelleen, mutta lue, tarkista ja korjaa niiden tulokset. Vaikka IT-alan nykytila ja viime muutokset eivät miellyttäisi, moniin niistä voit vaikuttaa vain vähän. Kokeneena kehittäjänä neuvon hyväksymään joitakin muutoksia ja sopeutumaan oman hyvinvoinnin vuoksi. Älä silti jätä kaikkea tekoälylle. Kirjoita ainakin osa koodista itse, jotta osaat luoda kielellä etkä vain lukea sitä. Käytä näppäimistöä: se on fyysinen, konkreettinen viestintäväline. Digitaalisten tuotteiden keskellä se on jotain todellista. Tarvitsemme esineitä, joita voimme koskettaa ja käyttää ja jotka auttavat pysymään kiinni konkreettisessa maailmassa.