如何提高编写代码的速度?

如何提高代码编写的速度,一直是一个逃避不了的问题。在天朝你得像打字员一样做程序员,不然老板和上司都觉得你是在玩耍。对项目的贡献体现在哪里?码农难道不是以code量来体现的么,就跟码砖一样,看谁码的面积多快,那工作量就在哪里摆着的嘛。

一个牛逼工程师就一定会五笔?这个比喻不是很恰当。但是在码字上来说五笔是最快的没有之一。但编程真的是这样的吗?我认为绝不等于代码量除以时间就等于你编写代码的速度。

的确如果你是一个刚入门的编程新手,速度和量是你要追求的,为什么要这么讲呢?基础知识的熟练度直接体现出你编码的速度。速度上去了说明你的基础知识掌握更好,所以速度才能快。为什么好多公司面试都会问到这个问题,你编写的代码量是几万行?速度和熟练度能够说明一个人code的效率。

第一步我们该做什么?提高你的打字速度

1. 用搜狗等中文输入法聊天/写文档与写代码切换时,养成直接切回系统英文输入法的习惯。都是一个快捷键的事,省去不少麻烦。

2. 尝试手打现成英文文章/文档/代码,有兴趣还可以试试限时托福或者 GRE 作文练习。输入中文快是因为熟悉每一个拼音的组合,比如你打一个常用拼音“changyongpinyin”这个组合你分成两个词根本是条件反射打出来,而“frequent word”你需要经思考字母顺序然后再凭借手对键盘的熟悉去找相应字母的位置。通过平时多练习英文输入使之接近中文水平。

3. 习惯日常生活如聊天时使用规范的标点符号与中英文格式,如中文用“。”而不是“.”,中英文数字间空格等。

4. 使用标有拼写错误提示的浏览器/软件。

5. 使用规范指法。

6. 打字通这种小学用的软件现在还有吗?

7. 使用反馈比较明确的键盘。不一定要机械键盘但键程清晰掷地有声还是要的。比如 thinkpad、 mbp 以及 mac 外接键盘,乃至 surface 键盘我认为都是达标的。MacBook Air 和 NMB 就比较差了……

以上步骤是从网上摘抄的,这个是练习打字的速度是最最基础的熟练方法。个人觉得都大同小异。

下面我们重点来讲讲如何真正提高编程速度的方法,仅供参考。

一、强调基础知识

基础这个东西不是用说就能有的,常用的东西只有牢牢的记住熟悉才能了然于胸。如果你还在为一个基础函数参数返回值困扰,那你要多去背背理解基础知识别无它法。

二、学会找轮子,不要去造轮子

这个观点其实是有异议的,不造轮子是指你要去用一些成型库函数和api,不要唯我独尊,什么都自己写,这样的话你基本脱离不了低级趣味了。比如一个消息队列在c++中就有实现,难道你会为一个只用它来存几个字符串消息,自己写个消息队列实现?

三、找个好的IDE

搞java开发的弄个eclipse,window开发用vs,linux开发用vim。一个好的IDE能让你事半功倍。更何况是在天朝,大部分都在ctrl+c、ctrl+v。一个好的IDE,自动补全,函数跳转查找,自动排版,检错。你决定使用一个IDE, 你就应该去认认真真的学习它的快捷键和一桶使用方法。

四、重思考

一个段好的代码并不是它们月复杂越好,简单实现复杂功能才是我们最需要的,liunx内核代码虽大,但是那些金典的算法实现的代码精炼的不能再精炼了。要提高编码速度更重要的是简化梳理程序流程,以最小的代码量完成功能。所以编程最重要的事情是思考(输入关键字代码获取如何阅读代码的资料)。

大牛于码农的区别就在思想上了。但是提高代码编写的速度,是我们可以锻炼出来的,做好以上几点,剩下的就是思考一下我们为什么说的多做的少。

原文发布于微信公众号 - 程序员互动联盟(coder_online)

原文发表时间:2015-12-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java社区

前端小白入门系列课程教程视频

19930
来自专栏自动化测试实战

我对RF的理解

484100
来自专栏斑斓

剖析响应式编程的本质

基于Actor的响应式编程计划分为三部分,第一部分剖析响应式编程的本质思想,为大家介绍何谓响应式编程(Reactive Programming)。第二部分则结合...

49060
来自专栏牛客网

18届学长Java面经分享:应届生找工作,基础为主,项目在精

先说一下我的个人情况,18届应届毕业生,去年9月份开始在上海一家软件公司实习,直到今年的4月底离开公司,6月中旬开始找工作,现已经拿到较为满意的offer(坐标...

14820
来自专栏大数据文摘

编程新手入门踩过的25个“坑”,你犯过其中哪些错误?

20230
来自专栏程序员的诗和远方

20181118_ARTS_week21

这题一开始一直没思路,然后看了 leetcode 的讨论,这个解法还是比较精妙的,用两个指针,然后距离就是 n,等到最后一个碰到末尾,要踢掉的元素就是 前一个指...

10340
来自专栏phodal

如何识别不同的编程语言(上)

漫谈编程语言:数量 这又是一个有趣的话题~~,要知道编程语言有那么的多。引自Quora上一个相关问题的答案,从ABC到Z Shell就有256个。 但是这并不是...

45460
来自专栏做全栈攻城狮

电脑小白学习软件开发-C#语言基础之循环重点讲解,习题

本教程是基础教程,适合任何有志于学习软件开发的人。当然因为技术的连贯性,推荐按照顺序查看。

8820
来自专栏java一日一条

不愿看到Java开发者再做的10件事

编者注:Andy是OSI(开发系统集成者)的CEO,同时也是位思想先锋及优秀博客作者。

6920
来自专栏腾讯NEXT学位

浅谈前端工程师的代码素养

25250

扫码关注云+社区

领取腾讯云代金券