ప్రోగ్రామర్లకు టచ్ టైపింగ్: గుర్తులు, అంకెలు, నిజంగా ముఖ్యమైన వేగం

ప్రోగ్రామర్లకు టచ్ టైపింగ్ అంటే ఎక్కువగా సాధారణ టైపింగ్ కోర్సు వదిలేసే కీల గురించే: అంకెలు, బ్రాకెట్లు, ఆపరేటర్లు, వాటి చుట్టూ ఉండే Shift కాంబినేషన్లు. సాధారణ టెక్స్ట్‌ను 90 WPMతో టైప్ చేసే ప్రోగ్రామర్ కోడ్‌లో నెమ్మదిగా ఉండవచ్చు, 50 WPMతో టెక్స్ట్ టైప్ చేసేవారు కోడ్‌లో వేగంగా ఉండవచ్చు. టెస్టింగ్ సమయంలో మా సొంత సోర్స్ ఫైళ్లను కస్టమ్ మోడ్‌లో పేస్ట్ చేస్తున్నప్పుడు మేం దీన్ని గమనించాం. పదాలు మోడ్‌తో పోలిస్తే వేగం మూడో వంతు లేదా అంతకంటే ఎక్కువ పడిపోయింది, కీవారీ హీట్‌మ్యాప్ నంబర్ రోపై, కుడి చిటికెన వేలిపై వెలిగింది, అత్యంత నెమ్మదైన బర్స్ట్‌లు బ్రాకెట్లు ఉన్న టోకెన్లపై వచ్చాయి.

కోడ్ టైపింగ్‌కు టెక్స్ట్ WPM ఎందుకు సరైన కొలమానం కాదు

కోడ్ టెక్స్ట్ నుంచి మూడు విధాలుగా భిన్నం, సాధారణ ఇంగ్లీష్ పదాలతో తయారైన టైపింగ్ టెస్ట్ వీటిలో దేన్నీ కొలవదు.

మొదటిది అక్షరాల మిశ్రమం. మేం లెక్కపెట్టాం. ఈ బ్లాగ్‌లోని మొదటి పది పోస్ట్‌లలో, స్పేస్ కాని ప్రతి 100 అక్షరాల్లో దాదాపు 93 లెటర్లు, 5 విరామ చిహ్నాలు, 2 అంకెలు. npm కమాండ్-లైన్ టూల్ JavaScript సోర్స్‌లో లెటర్లు దాదాపు 80కి పడిపోతాయి, గుర్తులు 19కి పెరుగుతాయి. Python json, email మాడ్యూల్స్‌లో 80 నుంచి 85 లెటర్లు, మా ఒక దట్టమైన బిల్డ్ స్క్రిప్ట్‌లో 64, దాని అక్షరాల్లో మూడో వంతు గుర్తులు. అంటే మా టెక్స్ట్ కంటే కోడ్‌లో దాదాపు మూడు నుంచి ఏడు రెట్లు ఎక్కువ గుర్తులు ఉంటాయి. వాటిలో చాలావరకు పై వరుసలో ఉంటాయి లేదా Shift అవసరం, అంటే కుడి చిటికెన వేలు, బలహీనమైన దూరపు కదలికలు. మా ఇంగ్లీష్ పదాల టెస్ట్‌లు ఒక సబ్‌టైటిల్ కార్పస్‌లోని అత్యంత సాధారణమైన 1,000 పదాలతో తయారయ్యాయి; వాటిలో "{" లేదు.

రెండోది లయ. టెక్స్ట్‌ను పొడవైన వరుసల్లో టైప్ చేస్తారు. కోడ్‌ను ఆలోచించడం, స్క్రోల్ చేయడం, చదవడం కోసం ఆగే విరామాల మధ్య చిన్న బర్స్ట్‌లలో టైప్ చేస్తారు. 136 మిలియన్ కీస్ట్రోక్‌లపై Dhakal et al. 2018లో చేసిన అధ్యయనంలో వాక్యాలను కాపీ చేస్తున్న వాలంటీర్లు కీల మధ్య సగటున దాదాపు 239 ms తీసుకున్నారు. ప్రోగ్రామర్ రోజంతా కొన్ని సెకన్ల పాటు సాగే విరామాలతో నిండి ఉంటుంది, ఏ సగటు కంటే చిన్న వరుసల లోపల బర్స్ట్ వేగమే ఎక్కువ ముఖ్యం.

మూడోది ఎడిటర్. ఆటోకంప్లీట్, స్నిపెట్‌లు, కీబోర్డ్ షార్ట్‌కట్‌ల వల్ల పనిచేసే ప్రోగ్రామర్ తెరపై ఉన్న అక్షరాల్లో కొంత భాగాన్ని మాత్రమే టైప్ చేస్తారు. దాన్ని ఏ టైపింగ్ టెస్ట్‌ కూడా కొలవలేదు, మాది కొలుస్తున్నట్టు నటించదు.

ప్రోగ్రామింగ్‌కు టైపింగ్ వేగం ముఖ్యమా?

ప్రజలు అనుకునే దానికంటే తక్కువ, అదీ వేరే చోట. ప్రోగ్రామర్ కావడానికి 60 WPM సరిపోతుందా అని ఎవరైనా అడిగితే, సమాధానం అవును, ఒక షరతుతో: గుర్తులు, అంకెల కోసం మీరు కిందకు చూస్తుంటే, మీరు కోడ్ టైప్ చేసే వేగం 60 WPM కాదు. రా వేగం కంటే ఆలోచనా ప్రవాహం తెగకుండా ఒక లైన్ టైప్ చేయగలగడం ఎక్కువ ముఖ్యం, దాన్ని తెంచేది కీబోర్డ్ వైపు కిందకు చూడటమే.

గుర్తులను వేగంగా ఎలా టైప్ చేయాలి, దాన్ని ఎవరూ ఎందుకు నేర్పరు

టైపింగ్ ఫోరమ్‌లలో మళ్లీ మళ్లీ వచ్చే ప్రశ్న: ఎవరైనా లెటర్లను మంచి వేగంతో టచ్ టైప్ చేయగలరు, కానీ కోడింగ్ మొదలుపెట్టగానే గుర్తులు, అంకెలు, క్యాపిటల్ అక్షరాల కోసం కూడా మళ్లీ వెతుకులాటలో పడతారు, లెటర్లను నేర్చుకున్నట్టే కొన్ని కీల చొప్పున వాటిని క్రమంగా నేర్చుకునే మార్గం కావాలనుకుంటారు.

గుర్తులు కష్టంగా ఉండటానికి ఒక కారణం Shift. మేం లెక్కపెట్టిన npm సోర్స్‌లో గుర్తుల కీస్ట్రోక్‌లలో దాదాపు 45% ( ) { } : $ లాంటి Shiftతో వచ్చే అక్షరాలు, అంటే ఒక్క క్యాపిటల్ అక్షరాన్ని లెక్కించకముందే స్పేస్ కాని ప్రతి 100 అక్షరాల్లో దాదాపు 9. కాబట్టి ముందు Shift అలవాటును సరిచేసుకోండి: అక్షరాన్ని టైప్ చేయని చేతితో Shift నొక్కండి. ( ) కుడి చేతి 9, 0 మీద ఉంటాయి, కాబట్టి వాటికి ఎడమ Shift; ! @ # $ ఎడమ చేతి వైపు ఉంటాయి, కాబట్టి వాటికి కుడి Shift. సొంతంగా నేర్చుకున్న చాలా మంది టైపిస్టులు ప్రతిదానికీ ఎడమ Shiftనే పట్టుకుంటారు, ! కోసం అది ఎడమ చిటికెన వేలిని ఒకేసారి రెండు కీలు నొక్కమంటుంది. @, $ ఉన్న ఒక లైన్ టైప్ చేసి, ఏ చిటికెన వేలు కదులుతుందో చూసి మీ సొంత అలవాటును తనిఖీ చేసుకోండి.

గుర్తులను విడిగా డ్రిల్ చేయడం కష్టం, అసలు డ్రిల్ చేయడమే విసుగు: లెటర్లు పదాలతో వస్తాయి, బ్రాకెట్లు కోడ్‌తో వస్తాయి, యాదృచ్ఛిక కోడ్ ఆసక్తికరంగా ఉండదు. మా సమాధానం: గుర్తులను నిజమైన కోడ్ లైన్లపై, ఒక్కో రకం చొప్పున డ్రిల్ చేయడం.

ఒక్కోసారి ఒక్క రకం

మేం పాటించే క్రమం ఇది, అభ్యాసం పేజీ కోసం మేం తయారుచేస్తున్న గుర్తుల ట్రాక్ క్రమం కూడా ఇదే. అది విడుదలయ్యే వరకు, నిజమైన కోడ్‌ను కస్టమ్ మోడ్‌లో పేస్ట్ చేసి, ఒక్కోసారి ఒక్క రకం గుర్తులతో, ప్రస్తుత రకం 95% ఖచ్చితత్వానికి చేరే వరకు తర్వాతి రకాన్ని జోడించకుండా ఇదే చేయవచ్చు:

  • అంకెలు. నంబర్ రో, హోమ్ రో వేళ్లు పైకి సాగుతూ. ఇది మొదట వస్తుంది, ఎందుకంటే లెటర్లు కాని వాటిలో ఇదే ఎక్కువగా వాడే రకం, దాదాపు అందరికీ ఇక్కడ ఏదో చెడు అలవాటు ఉంటుంది, ఉదాహరణకు చూపుడు వేలే 4, 5, 6, 7 నొక్కడం. నంబర్స్ టెస్ట్ త్వరిత తనిఖీ.
  • జంటలుగా బ్రాకెట్లు. ముందు ( ), తర్వాత [ ], తర్వాత { }. జంటలుగా, ఎందుకంటే ఒకటి లేకుండా మరొకటి మీరు దాదాపు ఎప్పుడూ టైప్ చేయరు: ఆ npm సోర్స్‌లో ( 6,195 సార్లు, ) 6,194 సార్లు వస్తుంది. తెరవడం-మూయడం కదలికను ఒకే యూనిట్‌గా శిక్షణ ఇవ్వడమే దాన్ని వేగంగా చేస్తుంది. చాలా మంది లయ తెగేది మూసే బ్రాకెట్ దగ్గరే.
  • ఆపరేటర్లు. = + - * / , యాంగిల్ బ్రాకెట్లు, వాటితో పాటు కలిపి రాసే రూపాలు (==, =>, +=, !=). ఇవి నంబర్ రో, కుడి చేతి విరామ చిహ్నాల కీలపై విస్తరించి ఉంటాయి, వీటిలో చాలావాటికి అదే చేతిపై Shift కావాలి, అదే ఇబ్బందికరమైన భాగం.
  • కోట్స్, విరామ చిహ్నాలు. ' " ; : , . ఎక్కువ పనిని కుడి చిటికెన వేలు చేస్తుంది. సెమికోలన్‌లు, కోలన్‌ల విషయంలోనే C-కుటుంబం, Python టైపిస్టులు ఎక్కువగా వేరుపడతారు, కాబట్టి మీరు వాడే భాషలోని లైన్లపై అభ్యాసం చేయండి.
  • షెల్, వింతైనవి. పైప్, బ్యాక్‌స్లాష్, టిల్డ్, బ్యాక్‌టిక్, క్యారెట్, యాంపర్సాండ్, హ్యాష్, డాలర్, ఎట్-సైన్, _ కీ. _, బ్యాక్‌టిక్ చాలా మందిని ఆశ్చర్యపరుస్తాయి; snake_case కోడ్ _ ను నిరంతరం వాడుతుంది, చాలా మంది టైపిస్టులు దాన్ని తప్పు వేలితో నొక్కుతారు.

చాలా మందికి ఒక్కో రకానికి పది నిమిషాల సెషన్లతో ఒకటి రెండు వారాలు పడుతుంది, కాబట్టి మొత్తం ట్రాక్ రెండు మూడు నెలలు. ఇది లెటర్లు నేర్చుకోవడం కంటే నెమ్మది, ఎందుకంటే గుర్తుల కీలు దూరంగా ఉంటాయి, మీరు మార్చుకుంటున్న అలవాట్లు ఇంకా పాతవి.

కీవారీ గణాంకాలను గమనిస్తే ఏం తప్పు జరుగుతుందో తెలుస్తుంది: ప్రజలు గుర్తును సరైన వేలితో నేర్చుకుని, ఒత్తిడిలో పాత అలవాటుకు తిరిగి వెళ్తారు, ఎందుకంటే కొన్ని వారాల పాటు పాత కదలికే వేగంగా ఉంటుంది. గణాంకాల్లో అది విరామం విపరీతంగా మారే కీగా కనిపిస్తుంది, సరిగ్గా చేరినప్పుడు వేగంగా, లేనప్పుడు నెమ్మదిగా. పరిష్కారం ఆ రకంపై ఇంకో వారం ఉండటం.

బ్రాకెట్ జంటలు, ఆటో-క్లోజింగ్

ఎడిటర్లు బ్రాకెట్లను ఆటోమేటిక్‌గా మూసేస్తాయి, దాంతో ఒక సమంజసమైన ప్రశ్న వస్తుంది: మూసే బ్రాకెట్‌ను టైప్ చేయడం ఎందుకు నేర్చుకోవాలి?

రెండు కారణాలు. ఆటో-క్లోజింగ్ స్థిరంగా ఉండదు: కొన్ని చోట్ల పనిచేస్తుంది, టెర్మినల్ లేదా చాట్ విండో లాంటి మరికొన్ని చోట్ల పనిచేయదు. దానిపై ఆధారపడే టైపిస్ట్ అది పనిచేసిందో లేదో చూసుకోవడానికి ప్రతిసారీ తటపటాయిస్తారు, ఆ తటపటాయింపు ఒక కీస్ట్రోక్ కంటే ఎక్కువ ఖర్చు. పైగా ఆటోమేటిక్‌గా మూసిన బ్రాకెట్‌పై టైప్ చేయడం (ఎడిటర్ ఇప్పటికే పెట్టినప్పుడు ")" నొక్కడం) కూడా ఒక కీస్ట్రోకే, కాబట్టి ఎలాగైనా మూసే బ్రాకెట్‌ను మీరు టైప్ చేస్తారు.

ఇక్కడ కస్టమ్ మోడ్‌లో కోడ్ పేస్ట్ చేసినప్పుడు, టెక్స్ట్ ఖాళీల (వైట్‌స్పేస్) వద్ద విడిపోతుంది, కాబట్టి ఇండెంటేషన్ మాయమవుతుంది, ప్రతి టోకెన్ ఒక పదంగా మారుతుంది. అది ఒకేసారి పరిమితి, సౌలభ్యం కూడా: ప్రతి Python లైన్ మొదట్లో మీరు నాలుగు స్పేస్‌లు టైప్ చేయరు, వాటిని అభ్యాసం చేయరు కూడా. ఎడిటర్ లాగే ఇండెంటేషన్‌ను, ఆటోమేటిక్‌గా మూసిన జంటలను నిర్వహించే సరైన కోడ్ మోడ్ మా జాబితాలో ఉంది, అది వినిపించేదానికంటే కష్టం.

కోడ్ వేగం vs టెక్స్ట్ వేగం

పర్సెంటైల్‌లు ప్రచురించేంత కోడ్-మోడ్ ఫలితాలు మా దగ్గర లేవు, వాటిని కల్పించడం కంటే ఎదురుచూడటమే మాకు మేలు. మా సొంత రన్‌లలో, వాస్తవిక స్నిపెట్‌పై కోడ్ వేగం అదే వ్యక్తి టెక్స్ట్ వేగంలో దాదాపు సగం నుంచి మూడింట రెండు వంతుల మధ్య ఉంది, సాధారణ అభ్యాసం కంటే గుర్తుల అభ్యాసంతో ఆ నిష్పత్తి ఎక్కువగా మెరుగవుతుంది.

బదిలీ అయ్యే సంఖ్య ఖచ్చితత్వం. టెక్స్ట్‌ను 97% ఖచ్చితత్వంతో, కోడ్‌ను 90%తో టైప్ చేసే ప్రోగ్రామర్‌కు గుర్తుల సమస్య ఉంది, ఏ గుర్తులో కీవారీ హీట్‌మ్యాప్ ఖచ్చితంగా చూపిస్తుంది. రెండింటిలోనూ 97% ఉన్న ప్రోగ్రామర్ ఇంకా ఎక్కువ కోడ్ టైప్ చేస్తే చాలు. సరిదిద్దిన తప్పులను ఖచ్చితత్వం ఎలా లెక్కిస్తుందో మా స్కోరింగ్ పద్ధతి వివరిస్తుంది.

ప్రామాణిక బెంచ్‌మార్క్ కోసం, సంఖ్యలు ఆన్ చేసిన విరామ చిహ్నాల టెస్ట్ మా సాధారణ మోడ్‌లలో కోడ్‌కు అత్యంత దగ్గరది. దానిలో బ్రేసెస్ ఉండవు, కానీ Shift కీని, నంబర్ రోను తీసుకొస్తుంది, చాలా మందికి లోటు ఉండేది అక్కడే.

సహాయపడే కీబోర్డ్ ఎంపికలు

ప్రోగ్రామర్లకు వచ్చే కీబోర్డ్ సలహా ఎక్కువగా స్విచ్‌ల గురించే, అది ఎక్కువగా అసలు విషయానికి సంబంధం లేనిది.

స్విచ్ కంటే లేఅవుట్ ముఖ్యం. Dvorak బ్రాకెట్లను నంబర్ రోకు పైకి తరలిస్తుంది, చాలా విరామ చిహ్నాల స్థానాలను మారుస్తుంది. Colemak, Workman బ్రాకెట్లను QWERTYలో ఉన్న చోటే ఉంచుతాయి, కానీ రెండూ సెమికోలన్‌ను QWERTYలో P ఉన్న చోటుకు తరలిస్తాయి, C-కుటుంబం ప్రోగ్రామర్లకు అది తెలుస్తుంది. పూర్తి వివరణ లేఅవుట్‌ల ఆర్టికల్‌లో ఉంది.

పెద్ద కీబోర్డ్ కంటే సింబల్ లేయర్ మేలు. చాలా స్ప్లిట్, కాంపాక్ట్ కీబోర్డ్‌లు బొటనవేలి కీతో పట్టుకునే లేయర్‌పై బ్రాకెట్లు, ఆపరేటర్లను హోమ్ రో వేళ్ల కింద పెట్టుకోనిస్తాయి. ప్రోగ్రామర్లు వివరించే హార్డ్‌వేర్ మార్పులన్నిటిలో మేం ముందుగా ప్రయత్నించేది ఇదే, ఎందుకంటే దానితో గుర్తు కోసం మీరు మళ్లీ ఎప్పుడూ కిందకు చూడరు.

ISO vs ANSI. ISO కీబోర్డ్‌లపై (UK, యూరప్‌లో చాలా చోట్ల), ఎడమ Shift పక్కన ఉండే అదనపు కీ, పొడవైన Enter కీ బ్యాక్‌స్లాష్, పైప్ స్థానాలను మారుస్తాయి. ఒకదానిపై అభ్యాసం చేసి మరొకదానిపై పనిచేస్తే, మీ చిటికెన వేలు తప్పుతుంది. అందుకే మా ఎమ్యులేషన్ Colemak-DH రెండు రూపాలనూ అందిస్తుంది.

వేగానికి స్విచ్‌లు దాదాపు ముఖ్యం కావు. లీనియర్, టాక్టైల్, క్లిక్కీ స్విచ్‌లు అనుభూతిలో, శబ్దంలో వేరుగా ఉంటాయి, మీరు ఏది నొక్కారో కీస్ట్రోక్ లాగ్‌కు తెలియదు. మా మెకానికల్ కీబోర్డ్‌ల ఆర్టికల్ సంఖ్యలను వివరిస్తుంది.

శబ్దం కొందరికి ఫీడ్‌బ్యాక్‌లో సహాయపడుతుంది: కిందకు చూడకుండానే గుర్తు తప్పిందని తప్పు శబ్దం చెబుతుంది. గుర్తులు నేర్చుకునేటప్పుడు దాన్ని ఆన్ చేయండి.

ప్రోగ్రామర్ కోసం పది నిమిషాల సెషన్

గుర్తుల ట్రాక్ పట్టే రెండు మూడు నెలల పాటు మేం రోజూ చేసేది:

  • రెండు నిమిషాలు: వార్మ్-అప్‌గా 30 సెకన్ల పదాల టెస్ట్, ఖచ్చితత్వం 97%.
  • ఆరు నిమిషాలు: ప్రస్తుత గుర్తుల రకం, మీ సొంత కోడ్ నుంచి పేస్ట్ చేసిన కస్టమ్ టెక్స్ట్‌పై. పాత వేలికి తిరిగి వెళ్తున్న మొదటి సంకేతం కనిపించగానే ఆపండి.
  • రెండు నిమిషాలు: మీరు ఎక్కువగా వాడే భాషలో ఒక కోడ్ స్నిపెట్. తర్వాత WPM కాదు, కీవారీ హీట్‌మ్యాప్‌ను చూడండి.

పది నిమిషాలు లేని రోజుల్లో, మూసే బ్రాకెట్‌ను మీరే టైప్ చేయండి. ఈ ఆర్టికల్‌లో అతి చిన్న అలవాటు ఇదే, సాధారణంగా మొదట ఫలితమిచ్చేది కూడా ఇదే.

తరచుగా అడిగే ప్రశ్నలు

ప్రోగ్రామర్లకు మంచి టైపింగ్ వేగం ఎంత?

గుర్తులు, అంకెలను టచ్ టైప్ చేయగలిగితే దాదాపు 40 WPM నుంచి పైన ఏదైనా పనికొస్తుంది. అంతకు మించి, అడ్డంకి వేళ్ల వేగం కాదు, ఆలోచించడం, చదవడం, ఎడిటర్ నైపుణ్యం.

అంకెలను టచ్ టైప్ చేయడం ఎలా నేర్చుకోవాలి?

హోమ్ రోలో ప్రతి అంకెకు నేరుగా కింద ఉండే వేలిని వాడుతూ, ఖచ్చితత్వం 95% వద్ద నిలిచే వరకు నంబర్ రోను విడిగా అభ్యాసం చేయండి, తర్వాత సాధారణ టెక్స్ట్‌లో అంకెలను కలపండి.

ఆధారాలు