文章目录

  • 程序员如何提高编程时打字速度
    • 前言
    • 打字速度等级
    • 测试编程时打字速度
    • 提高编程时打字速度的5个Tips
      • Tips1: 选用合适的键盘
      • Tips2: 保持正确的坐姿和打字姿势
      • Tips3: 选择一个好的打字练习网站练习
      • Tips4: 选择一个好的编程打字练习网站练习
      • Tips5: 重复练习
    • 消除其他影响编程速度的因素
    • 后记
    • 扩展阅读

程序员如何提高编程时打字速度

前言

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

但是在编程时,因为代码中含有大量特殊字符,因此程序员的打字速度要大打折扣。比如,平时英文打字可以达到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]

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

  1. 程序员:提高编程效率的技巧

    本文写给那些认为在项目上所花时间和效率成正比的程序员.我要说的是,事实并非如此.虽然你需要在电脑前敲键盘输入东西,但这只和编程沾上一点边.那么,程序员该如何利用时间呢? 俗话说,磨刀不误砍柴工,拿出一 ...

  2. 怎么短时间提高Java面试水平_Java程序员如何在面试时短时间内让面试官刮目相看?...

    技术面试是每一位程序员都会经历的一件事情,技术面试官会通过自己的方式去考察程序员的技术功底与基础理论知识,这个过程被有的程序员成为"造火箭式的技术轰炸",不同程序员的面试经历与体验 ...

  3. python创建数据库为什么只能有4个值、多一个就报错_99%的程序员在报错时的 30 种常见反应,太让人捧腹大笑了...

    软件开发工作充满了挑战性.人无完人,对于程序员来说,写出有 bug 的代码是在所难免的.有些人很淡定,也有一些人会感到生气.沮丧.不安或气馁.在修复 bug 的过程中我们都经历了什么?这个值得我们一探 ...

  4. 程序员自我提高的几点建议 很实诚

    一.背景 中国程序员的成长是与其学习环境相关,据统计,现时做计算机软件开发的人员65%是大专及本科学历,15%是来自于其他的培训机构.可见一个开发人员大致的学习经历和初步经验来自于大学. 而在印度,韩 ...

  5. 骨灰级程序员20条编程经验,赶紧收藏!!

    1. 估算解决问题所需要的时间.不要怕,承认吧!我曾见过一些程序员为了解决一个特殊问题而坐在显示器前面8小时.为自己定一个时间限制吧,1小时.30分钟或甚至15分钟.如果在这期间你不能解决问题,那就去 ...

  6. 给入门程序员20条编程经验

    给入门程序员20条编程经验(转) 1. 估算解决问题所需要的时间. 不要怕,承认吧!我曾见过一些程序员为了解决一个特殊问题而坐在显示器前面8小时. 为自己定一个时间限制吧,1小时.30分钟或甚至15分 ...

  7. 程序员curd编程是什么_为什么许多程序员讨厌结对编程?

    结对编程是国外非常盛行的一种敏捷开发方式,今天 Google 最顶级的两位程序员 Jeff Dean 和 Sanjay Ghemawat 就是结对编程世界让人颇为津津乐道的人物.不过,有人喜欢有人讨厌 ...

  8. 2016年程序员如何提高自己的方法有哪些?

    作为软件开发行业,新技术在不断的更新,如何在新的时代实现自己的人生价值,唯一的办法就是为自己树立一个更高的目标,一个人有了目标后就会有了努力的方向,那么在2016年程序员如何提高自己的方法有哪些?新霸 ...

  9. 为什么许多程序员讨厌结对编程?

    结对编程是国外非常盛行的一种敏捷开发方式,今天 Google 最顶级的两位程序员 Jeff Dean 和 Sanjay Ghemawat 就是结对编程世界让人颇为津津乐道的人物.不过,有人喜欢有人讨厌 ...

最新文章

  1. java 多线程,及获取线程执行结果
  2. C++ edmond karp和ford fulkerson求最大流算法(附完整源码)
  3. 软件推荐:微软桌面助手软件上手体验
  4. 国科大prml14-独立于算法的机器学习(boosting/
  5. 64岁Python之父:我不退休了,我要去微软
  6. [jQuery基础] jQuery案例 -- qq音乐以及初步解决Ajax 跨域问题
  7. python随机数调用
  8. html onblur 函数执行了2次,JavaScript“onblur事件”调用函数失效 原因与解决方法
  9. MySQL与Oracle的DDL、DML语法对比(含可重复执行SQL脚本编写方式)
  10. php生成手写字,钢笔手写体生成工具(PHP)V1.0[原创]
  11. Rayman的绝顶之路——Leetcode每日一题打卡21
  12. 进行海外媒体发稿的稿件撰写技巧和方法
  13. norton杀毒软件与木马克星有冲突
  14. Flutter高德定位定位权限管理
  15. 记录安卓,IOS安装kali的办法
  16. el-form组件提示英文问题,改成中文
  17. LeetCode 14.最长公共前缀(字符串)
  18. 自动计算所有包围盒的中心点
  19. count()--不是单组分组函数
  20. MATLAB-编程入门

热门文章

  1. (滁院20级计科专用)期末考试复习-操作系统
  2. Tracup|使用项目管理独一无二的六大好处
  3. 快递取件码生成软件_一种快递柜取件码生成装置及其使用方法与流程
  4. 输入一个数字n,输出一个n层的特定三角形
  5. 8个最好用的H5页面制作工具
  6. Ubuntu管理员密码
  7. android 考试倒计时,考试倒计时软件下载-考试倒计时v1.0 最新版-腾牛安卓网
  8. 2022.07.25 学习笔记
  9. 快速了解云数据库RDS
  10. win10单机修复计算机在哪,win10如何进入高级修复选项