感觉这篇文章有道理,停下来,往往会站在更全局的角度思考问题,不仅效率提高,而且享受到了工作的快乐!

英文原文:http://www.whattofix.com/blog/archives/2010/11/to-code-quickly.php

中文原文:http://kb.cnblogs.com/page/512849/

昨天我做了一些事情使我的编程效率提高了一倍。我停止工作。或者,我把定时器设置成50分钟,在此期间我只干一件事 — 没email,没聊天工具,没游戏,没分心的事。50分钟后,我去散步。它使我效率增倍。而且作为一个副作用,它使我的工作更加快乐。

这样做不会使我的注意力不能集中在我正要努力解决的难题上吗?很奇怪,跟你的直觉相反,不会。当你做其它的事情来放松你的神经时,你的大脑却仍然在思考你的问题。很多次,思路豁然开朗,把很多一直都无法解决的难题都解决掉了,这是因为你开始从远处观察这个问题,在大背景下,而不是紧紧的死揪着某处。

你是怎么停下来的?当我编程时我从来不看表。昨天我使用的是微波炉的定时器,但我工作效率上的变化使我大为震惊,我买了一个秒表,就是上面图中的那个。

我的生活中有太多的各种各样的打搅我的事情,邮件,聊天工具,电话短信。你的方法对我不管用。我有个原则:在我的工作时间里不允许有分心的东西。当我休息完后,我会花几分钟把这种分心的事情处理掉:检查邮件,回复聊天软件里的消息,回电话。当把这些事情全做完后我才开始启动定时器。

看起来它会给我的生活带来不必要的压力。的确会,但却是积极性质的。我发现自己急切的想知道在每个工作时间段里能究竟能做多少工作。我不由的开始把工作细化成更小的模块,催促自己看是否能在这时间段里完成这个模块。但这没有压力。我有个更好的词来描述督促自己把工作完成的更好更高效的现象:愉快。我很愉快。它把难题变成了游戏。

工作后你会用多长时间来休闲? 我不知道。这难住我了。我会去散步 — 一个足够长的散步,至少10分钟。有时我会到阳台上,吃个橘子,听听大自然的声音。有时我会把秒表倒计时10分钟,以免我回来的太早。

在休息时间我可以做任何想做的活动吗? 我想不能。我觉得你必须只做一种活动,让你大脑闲置的活动。散步,乒乓,玩乐器,发呆,打盹。考虑那些温和的、有目标挑战的活动 — 特别是户外的 — 效果会更好,但这只是我的猜测。

这里有什么秘密? 秘密,以我个人的见解,是当你强迫大脑释放缠绕很久的问题时,潜意识里会使它缠绕的更紧:你的大脑强烈希望回到问题上。于是它会一直研究它,思考它。你越使你的大脑从工作上拽走,它就越强的返回到工作中。越是特意的停止工作,你越更多的投入到问题中,你把思想带离工作越远,思想会越想回去。这比起你死盯着电脑屏幕/敲出一堆垃圾代码来,你的大脑会更有效率的多。退一步,海阔天空。我可以保证,当你又重新回到座位上坐下来时,你会有各种更好的该怎么样做的想法。就像是有一个小程序、设计评审程序,当你在玩乐时,在你的大脑深处后台运行,帮你思考问题。

如果你非常的聪明,怎么会想到要依赖这样的做法? 这个嘛。这里我的故事要转向说一下坏的事情:我过去做事情也是这样“玩玩干干”!事实上,我的工作时间和娱乐时间的分配已经无法控制。我以前编程就像是在受煎熬。我决定要改变。

为什么?因为我发现当浏览器变得越来越友好,计算机变得约来越使人分心时,我开始在潜意识里把计算机的娱乐功能和工作功能混淆在一起了。我工作一会儿,就去看看骇客新闻,再去读几篇有趣的文章,然后再工作一会儿,然后写几条评论,然后看看邮件,等等。

回头一想我在做什么?很显然:我正在拿各种各样新鲜刺激的事物过程来轰炸我的大脑。我的大脑不能工作在我的“主要”问题上,因为我忙着来回折腾在数十个不同的产生刺激因素的事物过程中。事后你会发现这最后的结果是把一心只放到一件编程事情上的情况转变成一心放在了很多事情上,而这些事情都跟编程没有关系。如果你喜欢使用计算机进行娱乐活动,你可以在工作前,午餐时,或工作休息期间。我越观察现代的计算机活动,我越相信计算机功能繁多、使娱乐更方便的性质已经严重的跟它作为一种能够生产工作的机器的用途相抵触了。几年来,我甚至慢慢的停止了赛场运动,约来越多的时间“沉浸”在了计算机世界里。这对你的大脑不是件好事,请相信我。

这是一个很简单的事情,你也许会很难想象到它会有什么用处。但请给自己一次机会 — 谁能预料你会有什么发现呢?

转载于:https://www.cnblogs.com/hust-ghtao/p/4220118.html

[转]高效编程之欲擒故纵相关推荐

  1. 《C++面向对象高效编程(第2版)》——3.11 类名、成员函数名、参数类型和文档...

    本节书摘来自异步社区出版社<C++面向对象高效编程(第2版)>一书中的第3章,第3.11节,作者: [美]Kayshav Dattatri,更多章节内容可以访问云栖社区"异步社区 ...

  2. 你不知道的18个Python高效编程技巧

    来源 | Python编程时光 初识Python语言,觉得python满足了我上学时候对编程语言的所有要求.python语言的高效编程技巧让我们这些大学曾经苦逼学了四年c或者c++的人,兴奋的不行不行 ...

  3. python多线程挂了_python多线程输入的问题 python高效编程技巧13(如何在线程之间实现...

    python3 创建线程时不用args传参,执行线程时为什如果创建线程时在target里就传入了参数,为什么在启动线程时,线程不是在Python多线程下,每个线程的执行方式: 有什么了不起,大不了继续 ...

  4. 《C++面向对象高效编程(第2版)》——2.29 泛化关系(is-a)

    本节书摘来自异步社区出版社<C++面向对象高效编程(第2版)>一书中的第2章,第2.29节,作者: [美]Kayshav Dattatri,更多章节内容可以访问云栖社区"异步社区 ...

  5. 《C++面向对象高效编程(第2版)》——2.20 什么是多线程安全类

    本节书摘来自异步社区出版社<C++面向对象高效编程(第2版)>一书中的第章,第2.20节,作者: [美]Kayshav Dattatri,更多章节内容可以访问云栖社区"异步社区& ...

  6. 《C++面向对象高效编程(第2版)》——2.30 has-a关系的重要性

    本节书摘来自异步社区出版社<C++面向对象高效编程(第2版)>一书中的第2章,第2.30节,作者: [美]Kayshav Dattatri,更多章节内容可以访问云栖社区"异步社区 ...

  7. 《C++面向对象高效编程(第2版)》——导读

    前言 C++面向对象高效编程(第2版) 面向对象软件开发已逐渐成为开发软件的首选.优秀的面向对象软件开发人员.设计人员.系统架构师对其需求与日俱增.要想成为一名成功的面向对象编程(OOP)人员必须忘却 ...

  8. 专业嵌入式软件开发——全面走向高质高效编程(含DVD光盘1张)

    -- 专业嵌入式软件开发--全面走向高质高效编程(含DVD光盘1张) 李云 编著 ISBN 978-7-121-14783-8 2012年1月出版 定价:108.00元(含DVD光盘1张) 16开 6 ...

  9. 《C++面向对象高效编程(第2版)》——3.13 采用语义

    本节书摘来自异步社区出版社<C++面向对象高效编程(第2版)>一书中的第3章,第3.13节,作者: [美]Kayshav Dattatri,更多章节内容可以访问云栖社区"异步社区 ...

最新文章

  1. 免费教材丨第49期:数学基础课程----漫画线性代数、微积分超入门
  2. [js]设计模式小结对原型的修改
  3. OpenCASCADE:拓扑 API之3D模型Defeaturing
  4. 若川的2018年度总结,平淡无奇
  5. Windows环境下搭建Tomcat
  6. LeetCode 557. Reverse Words in a String III
  7. Apache Sentry 第一弹:Server启动、连接Hue、分组详解
  8. 拟阵论 贪心策略的数学基础
  9. 用js来实现添加学生信息表
  10. 七.项目管理基础知识
  11. cad中lisp文件给恶作剧_AutoCAD小秘密062:紧急插播,关于LISP的病毒防治
  12. 最新华为EMUI 11.0.0 Mate40和Mate30成功安装Google play及谷歌套件(附带解决谷歌弹窗)的方法
  13. 机器学习经典案例——泰坦尼克号
  14. 分享一大波高清电子元器件矢量图,速速下载收藏!
  15. 计算机断网后怎么连接网络连接,电脑突然断网, 连接不上网络怎么办? 三种方法轻松找回...
  16. 苹果手机文件转换html,苹果手机html文件怎么打开?
  17. Ubuntu下ASIC/FPGA环境搭建
  18. ceph RBD块存储常规操作
  19. python 动态for循环的循环范围_Python中for循环的动态范围
  20. Linxu-解压压缩命令

热门文章

  1. js如何获取文本节点的值?
  2. js浏览器和浏览器插件检测的方法总结
  3. 三层架构实战篇—系统登录实例
  4. 教你打造 Android 中的 IOC 框架
  5. C# 命令行编译器详解
  6. 有趣的0-1背包问题:分割等和子集
  7. 汇编语言--算术运算指令
  8. static的应用和作用
  9. muduo之AsyncLogging
  10. ARM汇编:乘法指令集