Dactilografie pentru programatori
Tastarea fără să privești tastatura îți permite să scrii și să modifici cod fără să cauți tastele. Poți păstra privirea pe ecran când scrii o funcție, introduci o comandă sau pregătești instrucțiuni pentru un agent AI. Exercițiile pentru programatori trebuie să includă litere, cifre, simboluri și convențiile de denumire din cod.
Ideile principale
- Exersează cifrele, simbolurile și convențiile de denumire ale limbajului folosit. Cursul obișnuit AgileFingers include cifre și caractere speciale.
- Folosește lecțiile de programare pentru fragmente de cod sau adaugă un fragment propriu în texte personalizate.
- Poți lucra eficient cu Vim sau învățând scurtăturile IDE-ului preferat.
- Verifică și învață să corectezi codul generat de un agent AI. Rămâi responsabil pentru el chiar dacă nu îl tastezi personal.
De ce ajută dactilografia în programare
Principiul este același: scrii fără să privești tastatura. Economisești timp și te concentrezi pe sarcină, nu pe introducerea fiecărui caracter.
Programarea cere să cunoști mai multe taste decât redactarea unui eseu. O expresie scurtă precum items[index] += value; combină litere, paranteze drepte, un operator și punct și virgulă. Alte expresii adaugă acolade, paranteze rotunde, ghilimele și cifre. Un test cu termeni scriși doar cu litere mici nu acoperă aceste combinații. Când privești în jos ca să găsești un simbol, nu mai citești codul.
Când modifici o condiție, trebuie să urmărești și codul din jur. Tastarea fără să privești tastatura îți permite să îl citești în continuare. După peste 20 de ani de dezvoltare software, încă apreciez această abilitate când editez cod, adaug teste sau lucrez în terminal.
Exersează combinațiile pe care le folosești
Condițiile, buclele și declarațiile de funcții se repetă în cod. Antetul unei bucle JavaScript precum for (let i = 0; i < items.length; i++) include paranteze, puncte și virgule, o comparație și o incrementare. Dacă eziți la o parte a liniei, exersează expresii de acest fel. Este important să poți introduce rapid sintaxa limbajului ales.
Contează și majusculele, și convențiile de denumire. userAccount și user_account cer mișcări și deprinderi diferite. Ghidul de stil Python recomandă litere mici și cuvinte separate prin liniuțe de subliniere pentru funcții și variabile: stilul snake_case. Variabilele Java folosesc de obicei camelCase, ca în userAccount. Clasele și constantele au alte convenții. Obișnuiește-te să le scrii pe toate cu ușurință.
De aici rezultă exerciții diferite: numele din Python includ mai multe liniuțe de subliniere, iar cele din Java mai multe majuscule în interior. Dacă vrei să programezi în Python, alege exercițiile Python în locul exercițiilor Java.
În timp ce copiezi cod, încearcă să înțelegi ce face și cum este construit. Observă unde se termină condiția și începe blocul. În Python, indentarea grupează instrucțiunile, deci modificarea ei poate schimba comportamentul programului. Nu copia mecanic, fără să înțelegi.
Exersează cifrele și caracterele speciale
Cursul de dactilografie AgileFingers include cifre și caractere speciale. Revino la aceste lecții dacă o cifră, un simbol sau o combinație te încetinește. Dacă încă nu stăpânești tastarea textului obișnuit, începe cu ea, înainte de cod. Dacă literele nu mai sunt o problemă, treci direct la tastele necesare. Chiar și după ani de programare mai poți avea combinații pe care trebuie să le cauți.
Imaginea prezintă aranjamentul QWERTY american. Acoladele se introduc cu Shift și tastele parantezelor drepte. Alte aranjamente plasează simbolurile în alte locuri și pot folosi AltGr. Potrivește tastatura din exerciții cu aranjamentul activ în sistemul de operare: caracterele disponibile depind de el. Îl poți schimba din setări.
Folosește IDE-ul din tastatură
IDE-urile JetBrains și Visual Studio Code permit căutarea fișierelor, urmărirea apelurilor și redenumirea simbolurilor din tastatură. Învață scurtăturile editorului folosit deja. Dacă îți place editarea fără mouse, o extensie Vim oferă aceste operații și multe altele.
Începe cu acțiunile pe care le repeți zilnic:
- Caută fișiere și simboluri: deschide un fișier sau mergi la o funcție fără să parcurgi arborele de directoare.
- Mergi la definiție și înapoi: urmărește apelul până la implementare, apoi revino la locul apelului.
- Redenumește simboluri: folosește instrumentul editorului dacă acceptă limbajul. Verifică previzualizarea și referințele afectate.
- Rulează un test țintit: repetă testul relevant și mergi la eroarea semnalată din tastatură.
- Selectează și editează: învață deplasarea pe cuvinte, extinderea selecției, comentarea liniilor și comutarea între editor și terminal.
Învață întâi să cauți acțiuni, ca să găsești comenzile fără meniuri. În configurațiile obișnuite JetBrains, două apăsări pe Shift deschid Search Everywhere. Ghidul scurtăturilor JetBrains explică navigarea și configurarea tastelor.
În VS Code, paleta de comenzi se deschide de obicei cu Ctrl+Shift+P în Windows și Linux sau Cmd+Shift+P în macOS. Editorul de scurtături permite căutarea comenzilor și modificarea combinațiilor. Dacă o scurtătură funcționează altfel, verifică configurația activă. Gândește-te înainte să schimbi o asociere implicită: configurația inițială este de regulă bine aleasă.
Folosește completarea automată pentru nume lungi și fragmentele reutilizabile pentru cod repetat. IntelliSense din VS Code oferă completare și informații despre parametri. În exerciții, scrie singur tot fragmentul. În proiect, profită de ajutorul editorului, dar verifică ce inserează. Dacă repeți aceleași clicuri, caută scurtătura și încearc-o la următoarea sarcină.
Învață să lucrezi bine în terminal
Dezvoltatorii și administratorii folosesc terminale pentru comenzi și teste, jurnale, gestionarea fișierelor și lucru pe sisteme la distanță. Comenzile combină nume, căi, opțiuni, ghilimele, conducte și numere. Citește ce ai introdus înainte de executare. Tastarea fără să privești tastatura te ajută să urmărești comanda în timp ce o scrii sau o corectezi.
Cunoaște instrumentele de editare ale shell-ului. În configurația implicită Readline de tip Emacs din Bash, Ctrl+A merge la începutul liniei, iar Ctrl+E la final. Ctrl+R caută înapoi în istoric. Tab încearcă să completeze o comandă sau un nume de fișier. Secțiunea Readline din manualul Bash explică aceste funcții. Alte shell-uri și configurații pot diferi.
Istoricul și completarea evită rescrierea comenzilor. Dacă un argument este greșit, mută cursorul la el și corectează-l, fără să reiei totul. Înainte de Enter, verifică calea, opțiunile și directorul de lucru. Pe un sistem la distanță verifică și shell-ul folosit: comenzile lui de editare pot diferi de cele locale.
Măsoară precizia și viteza
Urmărește viteza, dar și greșelile. Dacă tot corectezi același simbol, merită exersat chiar dacă rezultatul general este bun. Editorul poate detecta un nume scris greșit, dar nu neapărat un operator valid care face altceva decât intenționai. Continuă să verifici și să testezi codul.
Începe suficient de lent ca să scrii corect. Accelerează când tastezi sigur, faci puține greșeli și le observi și corectezi imediat. Compară rezultatele cu același exercițiu, aranjament, limită și metodă de precizie. Un fragment mai greu poate scădea scorul, chiar dacă ai progresat. În curs, primele lecții sunt simple, apoi combinațiile devin mai complicate. Poate părea că pierzi viteză, când de fapt a crescut dificultatea.
AgileFingers afișează cuvinte sau caractere pe minut. Conversia consideră cinci caractere drept un cuvânt; un identificator lung nu contează ca un singur cuvânt. Precizia la prima încercare păstrează greșeala în calcul după corectare. Precizia textului final evaluează ce rămâne în exercițiu. Verifică metoda când compari rezultate, fiindcă ele pot diferi, și alege-o pe cea potrivită nevoilor tale.
Exerciții AgileFingers pentru programatori
Culorile vesele, imaginile și utilizarea simplă pot sugera că AgileFingers este doar pentru începători, profesori și elevi. Este potrivit pentru școli, dar a fost creat de dezvoltatori profesioniști pasionați de informatică. Am vrut să fie util și specialiștilor foarte experimentați. Am inclus literatură pentru exersarea textelor complexe, nu doar cuvinte simple sau combinații abstracte de taste, și lecții în mai multe limbaje. Am adăugat teme retro și o schemă de culori închisă. Sunt variante mai discrete; dacă interfața luminoasă îți obosește ochii, încearcă ce variantă îți este mai comodă.
Lecțiile de programare conțin fragmente Python, JavaScript, Java și alte limbaje. Alege unul și copiază codul afișat. Tastatura și ghidurile degetelor arată tastele necesare. După fiecare exercițiu primești rezultatele de viteză și precizie.
Exersează cu propriul cod
Poți folosi codul tău în textele personalizate AgileFingers. Lipește un fragment scurt pe care vrei să îl exersezi, dă-i un titlu și salvează-l. Apoi alege-l din catalogul personal. Poate fi o funcție cu condiții imbricate, o interogare SQL cu îmbinări sau un analizor de argumente Bash. Alege cod pe care îl înțelegi, ca să te concentrezi pe tastare.
Dacă greșești la cifre și liniuțe de subliniere, alege nume care le conțin. Pentru ghilimele și paranteze, caută un fragment bogat în aceste semne. Verifică textul afișat înainte să începi, mai ales dacă originalul conține tabulări sau caractere absente din aranjamentul ales. Poți exersa și explicații tehnice ori instrucțiuni pentru un agent AI.
Agenții AI au nevoie de instrucțiuni clare și verificări
Un agent poate genera cod, executa verificări și revizui ce a făcut. Tu trebuie să explici ce vrei și să verifici schimbările. Recomandările GitHub pentru agenții săi de programare cer sarcini clare, revizuire umană și testarea codului generat.
Chiar dacă scrii puțin cod, continui să descrii cerințe, să dai exemple, să raportezi erori și să comentezi rezultate. "Îmbunătățește formularul" obligă agentul să ghicească. Precizează ce date produc eroarea, ce trebuie să vadă utilizatorul și ce trebuie să funcționeze în continuare. Ajustează instrucțiunile când cerințele se schimbă sau agentul le înțelege greșit. Detaliile utile cresc șansa unei soluții potrivite. S-ar putea chiar să tastezi mai mult cu agenți decât programând singur. În cod, te gândești la fiecare simbol și urmărești concizia, lizibilitatea și întreținerea ușoară. În instrucțiuni, explici cât mai bine, fără aceeași economie de cuvinte. E puțin amuzant: când AI scrie codul, tastarea fără să privești tastatura poate deveni și mai utilă.
Unii cred că tastatura nu va mai fi necesară, fiindcă putem dicta instrucțiunile. Dictarea ajută la prima versiune, dar corectarea ei tot cere muncă: modifici o cale, schimbi o variabilă sau elimini o condiție dintr-o instrucțiune lungă. Dacă îți convine, dictează. Eu aș continua să exersez editarea din tastatură, ca să pot face singur mici schimbări. Nici nu ai mereu chef să vorbești la microfon toată ziua. Chiar și un extrovertit care vorbește cu toate și cu toți, inclusiv cu computerele, are nevoie de odihnă pentru voce. Uneori vrei liniște. Pentru asta ai tastatura.
Nu m-aș simți confortabil să construiesc un produs al cărui comportament nu l-aș putea explica. Răspunsul sigur al agentului nu dovedește că verificarea permisiunilor este corectă sau că sunt acoperite cazurile limită. Dacă produsul îți aparține, răspunzi pentru acele decizii. Învață suficient ca să observi o problemă și să explici ce trebuie corectat. Ca să înveți un limbaj, trebuie să scrii mult cod. Dacă vrei doar să înțelegi sintaxa, fără programe proprii, lecțiile AgileFingers pot ajuta.
Ca să devii un programator foarte bun, continuă să citești și să modifici cod singur. Poți folosi agenți, dar verifică atent munca lor și judecă critic sugestiile. Lecțiile de programare AgileFingers ajută la exersarea simbolurilor și structurilor dificile.
Editarea de bază în Vim și Neovim
Vim este un editor bazat pe comenzi de tastatură pentru deplasare prin fișiere și modificări cu puține apăsări, fără mouse. Neovim pornește de la Vim și păstrează modelul său de editare. Ambele au moduri diferite pentru introducere și modificare. În modul normal, dd șterge linia curentă; ciw schimbă cuvântul de sub cursor și intră în modul de inserare, unde scrii înlocuitorul. Documentația oficială Neovim explică deplasarea, editarea și alte funcții.
Învață comenzile în editor, unde le poți vedea efectul. În unele distribuții Neovim, apasă Escape, scrie :Tutor și apasă Enter pentru tutorialul interactiv. Dacă este dezactivat, rulează nvim --clean în terminal și reîncearcă. Astfel încarci configurația implicită Neovim. Pentru Vim, urmează instrucțiunile vimtutor pentru sistemul tău.
Parcurge o parte mică din tutorial și repet-o fără instrucțiuni. Apoi deschide copia unui fișier cunoscut și folosește comenzile pentru a înlocui un nume sau a șterge o linie. Învață câteva operații frecvente înainte de a memora liste lungi.
Funcții de IDE în Neovim
Neovim acceptă extensii pentru căutare, navigare, completare, diagnosticare și formatare. Le poți configura singur sau poți alege o distribuție deja pregătită. LazyVim este o astfel de soluție. Oferă multe funcții cunoscute din IDE-uri, dar ai nevoie de instrumentele potrivite limbajului. Ghidul scurtăturilor și fereastra which-key ajută la găsirea comenzilor.
Poți folosi și o extensie Vim în IDE-ul obișnuit. Verifică ce scurtături gestionează extensia și care aparțin IDE-ului, mai ales dacă o tastă se comportă neașteptat. Începe cu puține comenzi frecvente.
Un plan scurt de exersare
Alege ceva ce te-a încetinit azi: un simbol căutat, un nume tastat greșit repetat sau o comandă negăsită. De aici începe următoarea sesiune:
- Alege o lecție din curs pentru cifra sau caracterul special necesar.
- Copiază o lecție de programare sau un text propriu care îl folosește în cod.
- Verifică rezultatul și repetă partea greșită suficient de lent ca să o scrii corect.
- Revino în editor sau în shell-ul terminalului și aplică ce ai exersat într-un program ori o comandă reală.
Exersează și text obișnuit. Comentariile, documentația și instrucțiunile pentru agenți sunt o parte esențială a muncii. Folosește literatura din textele AgileFingers sau pregătește și copiază propriile notițe tehnice. Pentru relaxare fără să întrerupi învățarea, încearcă jocurile de dactilografie.
Întrebări ale programatorilor
Aceste întrebări apar în discuțiile programatorilor de pe Reddit despre tastarea fără să privești tastatura în munca IT.
De ce scriu repede cuvinte, dar încetinesc la cod?
Poți stăpâni literele, dar ezita la paranteze, ghilimele, cifre sau majuscule. Și sintaxa necunoscută încetinește. Alege cod scurt pe care îl înțelegi și exersează combinațiile dificile. Compară încercările pe același fragment. Lecțiile AgileFingers ajută la familiarizarea cu tastarea codului.
Trebuie să învăț dactilografia înainte de programare?
Le poți învăța în paralel. Continuă să creezi programe și rezervă puțin timp tastelor pe care încă le cauți. Nu ai nevoie de viteză mare ca să începi un proiect. Dacă lucrezi deja ca programator, poți integra exercițiile în programul obișnuit.
Trebuie să schimb aranjamentul pentru a scrie cod comod?
Începe cu cel folosit la serviciu, mai ales dacă îți trebuie și pentru limba ta. Exersează simbolurile înainte să schimbi aranjamentul. Altul poate fi potrivit, dar ia în calcul tastaturile de acasă și de la lucru. Alternarea poate fi dificilă dacă acasă ai o tastatură foarte personalizată, iar la serviciu una standard, cu alte asocieri.
Alege asocieri potrivite și verifică dacă le poți folosi pe ambele calculatoare. Păstrează pe cât posibil aceleași poziții pentru literele și simbolurile frecvente și aceleași scurtături, ca să nu le reînveți mereu. Dacă nu poți adapta tastatura de la lucru, păstrează-ți deprinderea și cu aranjamentul standard. Învață pozițiile noi înainte să depinzi de ele într-o zi aglomerată.
Încearcă la următoarea sesiune de programare
Când modifici cod sau introduci o comandă, observă tastele care încă te fac să te oprești și să privești în jos. Exersează-le în lecțiile de programare sau adaugă un fragment la textele personalizate. Folosește în continuare editorul și AI, dar citește, verifică și corectează rezultatele. Chiar dacă nu îți place starea actuală a industriei IT și schimbările recente, multe nu depind de tine. Ca dezvoltator experimentat, recomand să accepți anumite schimbări și să te adaptezi, pentru propria liniște. Nu înseamnă să lași totul inteligenței artificiale. Scrie măcar o parte din cod, ca să poți crea într-un limbaj, nu doar să îl citești. Folosește tastatura: este un instrument fizic, palpabil de comunicare. Printre produsele digitale, rămâne ceva real. Avem nevoie de lucruri pe care le putem atinge și folosi, care ne păstrează contactul cu realitatea.