首页 > 编程语言 >程序员如何提高编程时打字速度的5个Tips

程序员如何提高编程时打字速度的5个Tips

时间:2023-02-11 16:15:05浏览次数:74  
标签:练习 编程 打字 程序员 https Tips com 打字速度

 前言

一般地说,程序员的打字速度要快过普通人,仅次于秘书、记者、编辑等文字工作者。

 

但是在编程时,因为代码中含有大量特殊字符,因此程序员的打字速度要大打折扣。比如,平时英文打字可以达到60 - 80 wpm (每分钟输入单词数),但是在编程时可能只能达到 30 - 40 wpm,差不多慢了一半。

 

而国内程序员,因为平时使用中文输入法有智能联想功能,因此对英文输入时的准确度稍差,也会导致编程时打字速度不够快。

 

打字速度等级

一般地说,打字速度等级如下:

 

40 wpm:平均水平

60 wpm:专业水平

80 wpm:高级水平

对一个职业程序员来说,编程时打字速度最少应达到40 wpm,建议达到 60 wpm 或以上。

 

测试编程时打字速度

可以在 typing.io 上测试一下自己熟悉的编程语言的打字速度。

 

提高编程时打字速度的5个Tips

Tips1: 选用合适的键盘

不建议在笔记本电脑键盘上来练习打字,建议买一个专门的键盘(比如机械键盘)来练习打字。

 

Tips2: 保持正确的坐姿和打字姿势

长时间练习打字,会导致手腕、腰部、颈部和眼睛疲劳,保持正确的坐姿和打字姿势非常重要。

 

Tips3: 选择一个好的打字练习网站练习

推荐在 typing.com 上来从初级、中级到高级循序渐进地练习英文打字。

 

不建议在一些不好的打字练习软件或网站上浪费时间。

 

Tips4: 选择一个好的编程打字练习网站练习

在练习好英文打字后(盲打60 wpm以上),可以在编程打字练习网站练习自己熟悉的编程语言的编程。比如:

 

typing.io

speedcoder.net

对编程语言中常用的特殊字符,可以针对性地进行练习。

 

以Java为例,影响编程时打字速度的特殊字符主要包括:

 

字符 说明 字符 说明

@ 注解 " 双引号

< 和 > 小于/大于,泛型 ' 单引号

( 和 ) 方法 = 赋值

{ 和 } 代码块 && 和 || 和 ! 逻辑运算符;与,或,非

Tips5: 重复练习

打字是一个眼到手到的活儿,除了有正确的学习方法外,更重要的是要重复练习到产生肌肉记忆(盲打),打字速度才能越来越快。

 

消除其他影响编程速度的因素

IDE:好用的IDE会非常提高效率,比如Java程序员最爱用Intellij IDEA。

 

不要中英文切换:写代码时,将输入法调整为英文,且不要中英文切换。

 

快捷键:记忆IDE的快捷键,并且借助一些IDE插件或练习网站来加强练习:

 

快捷键Cheatsheet: 在Intellij中打开 Help / Keymap References

IDE插件:比如Intellij IDEA的Presentation Assistant。

快捷键练习网站:比如,https://www.shortcutfoo.com/

API的熟悉程度:边写代码,边搜索API用法,肯定会大大降低编程速度,对常用的库和框架的API要非常熟悉,脑速才能跟得上手速。

 

编程练习:只有写的代码多了,熟悉编程的算法和数据结构了,编程才能快。程序员编程和作家写作一样,都是创造性的活动,而不是简单的抄写,只有写得代码多了,看到问题,脑子里能自然转换成代码,才能真正地提高编程速度。

 

后记

据说,Google的程序员每天的有效代码行数为150行(不包括测试代码)。

 

从某个角度来说,程序员的效率不在于打字速度有多快,而是在于如何产出高质量的代码,包括:

 

TDD:红-绿-重构

DRY原则:

抽取出公共方法

通过泛型实现支持多种类型的通用方法

使用第三方库,不重复造轮子

SOLID原则

但是打字速度慢,会让程序员在编程时,还要操心键盘上的键在哪个位置,会干扰编程时的思路(心流)。

 

或者这么说,一个专业的程序员应该要追求又快又好,也就是快速地写出bug free的代码。这点在在线编程练习或竞赛(比如HackerRank)时更为重要。

 

无他尔,手熟尔。

 

与君共勉。

 

扩展阅读

How to Type Faster 100 wpm+ (in One Week) - Stop Wasting Time [5 Tips]

https://www.youtube.com/watch?v=D3GcW3GE4wk

 

Products I used:

Laptop - https://amzn.to/3gP5lpB

iPad Pro - https://amzn.to/3eig6Px

Apple Keyboard - https://amzn.to/38ReWtw

Mechanical Keyboard - https://amzn.to/3iSVTmW

Cute Keyboard (circle keys) - https://amzn.to/3efYO5D

iPad Keyboard - https://amzn.to/3gQdVod or https://amzn.to/2ZkivFt

Websites Mentioned:

https://www.typingclub.com

https://www.typing.com

https://www.keybr.com

https://10fastfingers.com

https://www.keyhero.com

https://www.typeracer.com

https://zty.pe

GET IN TOUCH

(and find out about exclusive info!)

via: Twitter - https://twitter.com/NotesWithRen

Instagram - https://www.instagram.com/noteswithren/

PRODUCTIVITY VIDEOS:

RemNote - https://www.youtube.com/watch?v=M2U61...

Ultimate App (Notion v Roam v Obsidian) - https://www.youtube.com/watch?v=SyV4x...

Obsidian - https://www.youtube.com/watch?v=aK2fO...

How to Learn - https://youtu.be/4OQ3gNRHCY4

 

打字游戏

https://zty.pe/

 

   

标签:练习,编程,打字,程序员,https,Tips,com,打字速度
From: https://www.cnblogs.com/gongxianjin/p/17111838.html

相关文章

  • 程序员如何正确的读书
    首先作为一个读书人,应该要对这个世界的运行规则有抽象的认识。这个,我将其称之为道。在认识了这世界上有一种叫道的东西以后,你就可以开始尽情的研究术法了。在学习术法的过程......
  • 程序员应该懂的植物学
    我发现,这个仅仅只是通过网络,我没有悉心关注过大多数程序员的生活。他们会种一种叫多肉的植物。当然,也不是不可以种。只是吧,根据我对多肉的了解,程序员种这个,价值不是很大哦。......
  • 程序员接外包注意事项
    写这篇文章的起由今日周六,人在苏州。尾款未给,百感交集。恰逢周末,提笔与君叙一二。 都是打工人,都想多赚点钱,笔者也如此,去年年底拿了房,有车贷,有房贷,然后拿房后又要装修......
  • #yyds干货盘点# LeetCode程序员面试金典:八皇后
    题目:设计一种算法,打印N皇后在N×N棋盘上的各种摆法,其中每个皇后都不同行、不同列,也不在对角线上。这里的“对角线”指的是所有的对角线,不只是平分整个棋盘的那两条对......
  • 程序员运动哲学
    这里我想说,一个不运动的程序员。是一个不优秀的程序员。于此,一个程序员一定要养成锻炼身体的习惯。那么,一年四季,请问,如何锻炼才是正确的呢?那些每天都去健身房的人,他们真的做......
  • 程序员最关心的问题,我都帮你们问AI了
    前言微信关注【小白技术圈】发送【S001】获取国内免登录免梯子玩法最近几天互联网刮起了一阵ChatGPT风,起因是OpenAI发布了一个全新的聊天机器人模型——ChatGPT,可以像......
  • Java程序员就业方向有哪些?
    目前在软件类岗位,Java软件开发工程师所占的比例最大,达到60%以上。根据IDC的统计数字,在所有软件开发类人才的需求中,对Java工程师的需求达到全部需求量的50%以上。那么,Java......
  • #yyds干货盘点# LeetCode程序员面试金典:硬币
    题目:硬币。给定数量不限的硬币,币值为25分、10分、5分和1分,编写代码计算n分有几种表示法。(结果可能会很大,你需要将结果模上1000000007)示例1:输入:n=5输出:2解释:有两......
  • 更紧密的反馈循环让你成为更好的程序员
    快速反馈导致快速改进。当您构建新功能或修复错误时,快速成功的首要预测因素是您的反馈循环。你怎么知道它什么时候工作?我们可以自动化这个过程吗?你越早知道有什么东西坏......
  • Tips
    网页删除网页cssdocument.querySelectorAll('style,link[rel="stylesheet"]').forEach(item=>item.remove())CMD修改用户命令修改密码netuseradminadm......