Dagens statistik

Avslutade övningar
-
Skrivna tecken Skrivna ord
-
Tid för träning
-

Övergripande statistik

Avslutade övningar
-
Skrivna tecken Skrivna ord
-
Tid för träning
-

Skrivlektioner
för programmerare

  • Olika programmeringsspråk
  • Parenteser, operatorer och nyckelord

Varje programmeringsspråk har sin egen syntax. Du kan skriva kod snabbare genom tangentbordsträning. Lektionerna ovan innehåller olika kodfragment från det språk du väljer, så att du kan öva på att skriva dess nyckelord och symboler.

Skrivlektioner för programmerare

framsteg
ord/min / noggrannhet
nivå
1. Programmering i Python
-
-
2. Programmering i JavaScript
-
-
3. Programmering i Java
-
-
4. Programmering i C++
-
-
5. Programmering i C#
-
-
6. Programmering i Go
-
-
7. Programmering i PHP
-
-
8. Programmering i SQL
-
-
9. Programmering i Bash
-
-

Öva touch-metoden med exempel från programmeringsspråk

Tangentbordsträning i programmering

Programmering beskrivs ofta som att lösa logiska problem, designa system eller bygga applikationer. Allt detta stämmer. Men få tänker på att grunden också är en fysisk färdighet: att skriva in kod i en editor. Programmeraren använder ett tangentbord för att skriva in koden. Om du måste leta efter tangenterna medan du skriver parenteser eller en for-loop avbryts arbetet. Att skriva flytande minskar sådana pauser under inmatningen. Att kunna skriva med alla tio fingrar i programmering gör att du kan fokusera på problemet, inte på skrivandet i sig. Snabbt skrivande i programmering handlar inte om "120 ord per minut" utan om precision och säkerhet i symboler, nyckelord och mönster som bygger upp koden.

Varför tangentbordsträning är viktigt för programmerare

Till skillnad från vanlig text följer kod en bestämd struktur och syntax. Du kan inte räkna med att kompilatorn eller tolken gissar din avsikt om du skriver fel tecken. Ett skrivfel kan orsaka ett syntaxfel eller ändra programmets betydelse även om koden fortfarande är giltig. Öva därför snabbt skrivande i programmering tillsammans med noggrannhet; hastighet i sig garanterar inte färre rättelser. Med touch-metoden kan du titta på editorn i stället för tangentbordet och lägga mindre uppmärksamhet på att hitta tangenterna. Att kontrollera logiken och lösa problem är fortfarande separata uppgifter.

AgileFingers fokuserar just på denna utmaning: att ge programmerare lektioner baserade på riktig kod, inte slumpmässiga tecken från syntaxen. Det handlar inte om att lära sig språket från början, utan om att känna sig bekväm i att skriva dess syntax. Kombinationen av tangentbordsträning och språkkännedom ger programmeraren självförtroende.

Språk efter skrivutmaningar

Olika språk innebär olika utmaningar. När du övar på att skriva är det rimligt att gruppera dem efter de tangentsekvenser du använder, inte efter paradigm som objektorientering eller funktionell programmering. AgileFingers erbjuder övningar för Java, JavaScript, C++, C#, Go, PHP, SQL, Bash och Python. Här är en översikt:

Parentes- och klammerdrivna språk (Java, JavaScript, C++, C#, Go)
Dessa språk använder ofta klamrar {} och parenteser. I Java, C++ och C# avslutas satser vanligtvis med semikolon; Go lägger in de flesta semikolon automatiskt, medan JavaScript tillåter att de utelämnas i många fall. Tecknen utgör kodens skelett. Om du måste leta efter tangenterna medan du skriver kan du tappa tråden. Exempel i Java:


public class Greeter {
    public static void main(String[] args) {
        for (int i = 0; i < 5; i++) {
            System.out.println("Hej " + i);
        }
    }
}

Eller i C# med sin utförliga men konsekventa syntax:


for (int i = 0; i < 10; i++) {
    Console.WriteLine($"Värde: {i}");
}

Snabbt skrivande av sådana loopar kräver säkerhet i klamrar, operatorer och uttryck. C++ lägger till pekaroperatorer (*, ->), Go förenklar syntaxen men använder fortfarande klamrar. Att öva dessa mönster i AgileFingers hjälper till att göra dem naturliga.

Skript- och frågespråk (Bash, PHP, SQL)
Skriptspråk arbetar intensivt med symboler. I Bash använder du ofta pipes (eng. "pipe" - |), omdirigeringar och dollartecknet $:


for file in *.txt; do
  echo "Bearbetar $file"
done

I PHP skrivs variabler med $ framför namnet. När PHP är inbäddat i HTML växlar filen mellan HTML-taggar och kod med C-liknande syntax. I SQL handlar det mindre om interpunktion och mer om nyckelord:


UPDATE users
SET active = 0
WHERE last_login < NOW() - INTERVAL '30 days';

I dessa språk innebär tangentbordsträning att man blir van vid sekvenser av nyckelord och symboler. Även en kort paus för en pipe eller en missad semikolon kan bryta tankeprocessen.

Språk med indenteringsstyrd syntax (Python)
I Python är indentering en del av syntaxen. Felaktig indentering eller ett saknat kolon kan orsaka ett syntaxfel. Typisk sekvens: if ...:, ny rad, indentering. Till exempel:


def factorial(n):
    if n == 0:
        return 1
    return n * factorial(n - 1)

Tangentbordsträning i Python hjälper dig att bli förtrogen med kodens visuella struktur. Även om editorer ofta lägger in mellanslag automatiskt, ger känslan för hur blocken ser ut en extra säkerhet. AgileFingers innehåller många Python-fragment för att förstärka dessa mönster.

Andra programmeringsspråk
Utöver dessa har språk som Rust, Kotlin, Swift och Haskell egna särdrag. Rust betonar minnessäkerhet med borrowing (&) och lifetimes ('a). Kotlin använder lambdauttryck och pilar. Swift kombinerar C-lik syntax med moderna drag. Haskell kräver noggrann indentering och använder ofta symboliska operatorer. Oavsett språk hjälper tangentbordsträning dig att bemästra dessa delar.

Programmering i flow

Det är roligt att programmera när du är helt upptagen av uppgiften och kan omsätta dina idéer i kod utan onödiga avbrott. Detta tillstånd av djup koncentration kallas ofta "flow". Med touch-metoden behöver du leta mindre efter tangenterna och inte ständigt flytta blicken från editorn till tangentbordet. Då tar själva skrivandet mindre uppmärksamhet medan du arbetar med logiken, utformningen och problemlösningen. Du behöver fortfarande känna till och kontrollera syntaxen; den kunskapen kommer från att lära sig och använda språket. Autokomplettering och kopiering av kod kan också ingå i arbetet, så länge du förstår och kontrollerar det du lägger in.

Kodautokomplettering

Autokomplettering är praktisk för långa variabel- och klassnamn, men också för återkommande loopar och kodblock. När du accepterar ett helt förslag övar du inte på att skriva varje tecken själv. Om du håller på att lära dig språket, läs den infogade koden och kontrollera att du förstår dess uppbyggnad. Prova också att skriva vissa konstruktioner på egen hand. Att använda autokomplettering betyder inte i sig att du glömmer syntaxen.

AI-assistenter (eng. "AI assistants") kan föreslå hela funktioner eller flera kodblock samtidigt. Det kan spara skrivarbete, men du behöver fortfarande läsa och anpassa förslaget: små detaljer kan ändra hur programmet fungerar. Att använda en assistent gör dig inte i sig till en passiv kodgranskare. Du bestämmer fortfarande vilken kod du accepterar och hur den passar in i projektet. Tangentbordsträning är användbar när du själv ändrar, lägger till eller rättar kod. I AgileFingers kan du öva på att skriva språkets konstruktioner och bli mer förtrogen med dess symboler och nyckelord.

Arbeta med IDE:er och editorer

En integrerad utvecklingsmiljö (eng. Integrated Development Environment, IDE) är mer än en texteditor: den kombinerar redigering, debugging, refaktorisering, testning och projektstyrning. Exempel är IntelliJ IDEA, PyCharm och Rider. De erbjuder starka förslag, felidentifiering och navigering. Att skriva obehindrat är till hjälp när du matar in och redigerar kod. Många vanliga kommandon kan nås med kortkommandon, medan valet mellan mus och tangentbord beror på uppgiften och dina arbetsvanor.

Autokomplettering i IDE:er är praktisk, men ersätter inte grundläggande kunskaper om språket. Du kan använda den för långa identifierare och vanliga konstruktioner när du förstår den resulterande koden. Vill du öva på att skriva en for-loop, skriv den ibland utan en mall och kontrollera villkoret och innehållet. Tangentbordsträning är användbar när du själv matar in och ändrar kod. Komplettering och skrivövningar kan därför ingå i samma arbetssätt.

På gränsen mellan IDE och editor finns Visual Studio Code. Vissa kallar det en IDE, men tekniskt är det en avancerad texteditor. Med rätt plugins blir det mycket kraftfullt. Tillägg för Vim-emulering gör Vims kortkommandon tillgängliga i VS Code. Git-stöd är inbyggt i editorn; andra tillägg erbjuder databasfunktioner eller linting (eng. "linting"). Tangentbordsträning är användbar när du matar in och redigerar kod, men nyttan av verktygen beror också på hur du använder dem för den aktuella uppgiften.

Neovim - styrkan i en tangentbordsdriven editor

Neovim är utformat för arbete med tangentbordet, men stöder också mus och kan användas genom grafiska gränssnitt. Kommandona möjliggör precisa ändringar: dd raderar en rad, ciw ändrar ett ord och :%s/foo/bar/g ersätter text i hela filen. För navigering kan du till exempel använda 42G, som går direkt till rad 42. Tangentbordsträning är användbar när du skriver kommandon och kod. Det är också viktigt att lära känna själva kommandona genom att använda dem för konkreta redigeringsuppgifter.

Ekosystemet av plugins (eng. "plugins") gör Neovim mångsidigt: telescope.nvim för sökning, coc.nvim eller nvim-cmp för komplettering, fugitive.vim för Git. Dessa insticksprogram lägger till kommandon för sökning, komplettering och versionshantering i editorn. Om du föredrar att arbeta med tangentbordet kan du lära dig deras kortkommandon tillsammans med Neovims redigeringskommandon och använda det du lärt dig genom tangentbordsträning när du skriver kod.

Mekaniska tangentbord och komfort

Efter år av kodande märker du hur tangentbordet passar in i dina arbetsvanor. Mekaniska tangentbord använder enskilda mekaniska brytare och ger olika känsla vid anslaget. Komforten under ett långt pass beror på modellen, placeringen och dina preferenser. Du kan välja brytartyper, ofta märkta med färger som röd, blå eller brun. De skiljer sig exempelvis i kraften som behövs, den kännbara responsen och ljudet; egenskaperna beror på den konkreta modellen. På så sätt kan du välja en anslagskänsla som passar dig. Tangentbordsträning kan göras på ett tangentbord du trivs med. Mekaniska brytare i sig garanterar inte mindre trötthet eller större noggrannhet; även handställning och pauser påverkar komforten.

AI:s roll och att bevara färdigheter

AI-verktyg kan generera kodsnuttar, hela funktioner och program. Förslagen sparar en del manuell inmatning, men du behöver kontrollera om de löser den verkliga uppgiften. Att acceptera kod du inte förstår gör det svårt att ändra den eller hitta fel senare. Därför är det fortfarande viktigt att lära sig språket och skriva egna program. Att använda AI betyder inte i sig att du förlorar dina syntaxkunskaper eller slutar med kreativt arbete. Att utforma lösningar, besluta om ändringar och kontrollera resultatet ingår fortfarande i programmering.

AI kan vara användbar för återkommande kod eller felsökningsutskrifter, som print och console.log. Även då bestämmer du vad som ska skrivas ut och var, och du kontrollerar den föreslagna koden. Beroende på uppgiften växlar du mellan att skriva, ändra och granska förslag; allt detta hör till en programmerares arbete. Tangentbordsträning är användbar vid manuell inmatning och rättelser. AgileFingers erbjuder övningar med nyckelord och symboler i kodexempel för att träna skrivhastighet och noggrannhet. Kunskap om språket och programutformning utvecklar du genom studier och egna projekt.

Avslutning

Att kunna skriva utan att titta på tangentbordet är en praktisk färdighet när du skriver och redigerar kod. När du vet var tangenterna sitter kan du hålla blicken på editorn i stället för att ständigt titta ner på tangentbordet. Sökandet efter ett tecken avbryter då inte arbetet med att omsätta en idé i kod lika ofta. Skrivhastighet och korrekt programlogik är ändå olika saker: du behöver fortfarande granska koden och testa resultatet. Du kan skriva egen kod och samtidigt använda autokomplettering och AI-förslag när de passar uppgiften.

AgileFingers erbjuder programmeringslektioner med kodutdrag från Java, Python, Go och andra språk. Genom att upprepa tangenttryckningarna i exemplen tränar du skrivhastighet och noggrannhet och bygger muskelminne för vanliga symboler och tangentföljder. Du blir mer bekant med hur koden skrivs, men för att förstå vad den gör behöver du lära dig språket och arbeta med egna projekt. Även när verktyg genererar eller kompletterar kod är tangentbordsträning användbar för att skriva in egna ändringar och rättelser.

ord per minut tecken per minut ord/min tecken/min ord/min tecken/min Graf /laxor /klassrum-arbete /in-class-assignment