2019独角兽企业重金招聘Python工程师标准>>>

 我最近才意识到,如果你对着电脑,用着编译器、IDE 和工具等,是搞不出什么好代码的。最佳的编程地点是——远离你的这些工具——在一个能让你正确思考的地方,有条不紊地写代码。一般来说,对于一种你熟的不能再熟的编程语言,在你的大脑计算机里翻译程序,甚至和用编译器编译(还有解释器解释)是一样容易的。甚至,你可能最后想出来的程序比计算机更复杂更酷。

  有一次,我在火车上旅行。我虽然带了笔记本,但是没有网。而不幸的是,我用的是商业编程语言(IDL),需要得到网站许可方能使用。但是没网就意味着得不到网站的授权,得不到网站的授权,就意味着我就完全没法运行编译器和 IDE。哦,my God!IDL 的商业许可不但贵,而且它的编译器还限制我在自己的编辑器上写代码,这个破编程语言,谁爱用谁用!但是我想说的是,这件事启发了我。

  我记得我在哪里看到过这样一个帖子,概括起来的中心意识是:

 我最近才意识到,如果你对着电脑,用着编译器、IDE 和工具等,是搞不出什么好代码的。最佳的编程地点是——远离你的这些工具——在一个能让你正确思考的地方,有条不紊地写代码。一般来说,对于一种你熟的不能再熟的编程语言,在你的大脑计算机里翻译程序,甚至和用编译器编译(还有解释器解释)是一样容易的。甚至,你可能最后想出来的程序比计算机更复杂更酷。

  有一次,我在火车上旅行。我虽然带了笔记本,但是没有网。而不幸的是,我用的是商业编程语言(IDL),需要得到网站许可方能使用。但是没网就意味着得不到网站的授权,得不到网站的授权,就意味着我就完全没法运行编译器和 IDE。哦,my God!IDL 的商业许可不但贵,而且它的编译器还限制我在自己的编辑器上写代码,这个破编程语言,谁爱用谁用!但是我想说的是,这件事启发了我。

  我记得我在哪里看到过这样一个帖子,概括起来的中心意识是:

我从我第一个老板那学到的其中一个最好的教训是:当你的代码不能如期运行时,不要老是依赖调试器,试着自己思考一下。

  但是因为有了编译器,使得很少有人会去这么做。这种心态很容易理解,也很正常。我们一般的编码流程是:

  1) 写代码,即使写得很差

  2) 编译之后执行代码

  3) 用简单的事例测试

  4) 发现不能工作

  5) 小小的改一下,再看看问题是否能解决

  6) 不断重复过程5)

  最后得到的代码很可能满是 bug、不便于测试,然后编程人员自己都无从下手了。

  远离你的电脑,迫使你不得不先在自己的大脑里思考一遍——当然,这会比你用电脑来编译和运行代码所花费的时间更长。但是,你不会想着——在代码里小修改一下再运行看看——这种愚蠢的事,你会思考要用哪些代码执行什么。也正是在火车上的那一天,我意识到,自从我过了 Computing A-Level 考试,我就再也没有在纸上写过一句代码。

  在另一次我写代码的时候,我想试试能不能远离电脑来写代码,我先是想出了一段高质量基本无 bug 的代码,然后写在纸上面,思考是否有需要纠正的,然后复制到电脑上,再想想有没有问题了,最后才在编译器上编译。而我从纸上拷贝过去的代码,尽管有涉及大量递归的图像分割程序,但是奇迹般的,我一次就成功了!

  这种感觉真的超级棒。最后,我希望我的这个建议能对各位有用!

  译文链接:http://news.html5tricks.com/code-better-get-away-from-pc.html
  翻译作者:html5tricks – 蒋丽丽

  但是因为有了编译器,使得很少有人会去这么做。这种心态很容易理解,也很正常。我们一般的编码流程是:

  1) 写代码,即使写得很差

  2) 编译之后执行代码

  3) 用简单的事例测试

  4) 发现不能工作

  5) 小小的改一下,再看看问题是否能解决

  6) 不断重复过程5)

  最后得到的代码很可能满是 bug、不便于测试,然后编程人员自己都无从下手了。

  远离你的电脑,迫使你不得不先在自己的大脑里思考一遍——当然,这会比你用电脑来编译和运行代码所花费的时间更长。但是,你不会想着——在代码里小修改一下再运行看看——这种愚蠢的事,你会思考要用哪些代码执行什么。也正是在火车上的那一天,我意识到,自从我过了 Computing A-Level 考试,我就再也没有在纸上写过一句代码。

  在另一次我写代码的时候,我想试试能不能远离电脑来写代码,我先是想出了一段高质量基本无 bug 的代码,然后写在纸上面,思考是否有需要纠正的,然后复制到电脑上,再想想有没有问题了,最后才在编译器上编译。而我从纸上拷贝过去的代码,尽管有涉及大量递归的图像分割程序,但是奇迹般的,我一次就成功了!

  这种感觉真的超级棒。最后,我希望我的这个建议能对各位有用!

  译文链接:http://news.html5tricks.com/code-better-get-away-from-pc.html
  翻译作者:html5tricks – 蒋丽丽

转载于:https://my.oschina.net/lichaoqiang/blog/277837

远离你的电脑,代码写得更好!相关推荐

  1. 新年立个小目标!代码写得更规范!

    知乎作者@叶小飞:作为Oppo Reno2 超级夜景核心开发人员和奔驰San José Pilot落地工程师之一,我写代码基本尽可能地遵循Google Style. 在这里写几个自己的习惯+Googl ...

  2. 如何让你的 JS 代码写得更漂亮

    1. 按强类型风格写代码 JS是弱类型的,但是写代码的时候不能太随意,写得太随意也体现了编码风格不好.下面分点说明: (1)定义变量的时候要指明类型,告诉JS解释器这个变量是什么数据类型的,而不要让解 ...

  3. 【整洁之道】如何写出更整洁的代码(上)

    如何写出更整洁的代码 代码整洁之道不是银弹,不会立竿见影的带来收益. 没有任何犀利的武功招式,只有一些我个人异常推崇的代码整洁之道的内功心法.它不会直接有效的提高你写代码的能力与速度,但是对于程序员的 ...

  4. 如何写出更优雅的代码——编程范式简述

    <如何写出更优雅的代码--编程范式简述>源站链接,阅读体检更佳! 什么是程序? 1976年,瑞士计算机科学家,Algol W,Modula,Oberon 和 Pascal 语言的设计师 N ...

  5. 谷歌基情实录:和Jeff Dean在同一台电脑上写代码

    大数据文摘出品 编译:DonFJ.周家乐.李雷.小七.胡笳.jin.钱天培 单丝不成线,孤木不成林,浑身是铁也打不成几根钉子. 谷歌的伟大有一多半要归功于公司中亲密无间.协同工作的程序猿们!向伟大的猿 ...

  6. python代码怎么写出色_如何写出更具有Python风格的代码,五分钟教会你!

    我们都喜欢 Python,因为它让编程和理解变的更为简单.但是一不小心,我们就会忽略规则,以非 Pythonic 方式编写一堆垃圾代码,从而浪费 Python 这个出色的语言赋予我们的优雅.Pytho ...

  7. 《转》十种更好的表达“你的代码写的很烂”的方法

    如果你有一个同事,他写的程序与其说是代码,不如说更像希腊神话中女妖美杜莎的头发,你当然不能熟视无睹,你应该做出一些反应,但你可选的合适的反应方式并没有多少:自己默默的帮他整理清楚.向上级抱怨.向其他同 ...

  8. 程序员如何写出更好的代码

    Martin Thompson是Java Champion称号获得者,同时也是一名高性能计算科学家.他说,为了写出更好的代码,程序员需要运用基本设计原则,阅读已有代码.在QCon London 201 ...

  9. 你应该知道的7个写出更好的 Java 代码的技巧

    来源:SpringForAll社区 查看这些技巧和窍门可以帮助你写出更好的 Java 代码. 是的,你可以按照以下7个技巧和窍门编写出简短.整洁的 Java 代码.他们中的一些可能会让你感到惊讶,但是 ...

最新文章

  1. Linux系统性能分析:内存 优化
  2. 具体分析Struts工作流程
  3. 如何借助高考热点,微信公众号两天疯狂引流2万+
  4. C# 指定字符串截取方法
  5. Android MVC模式在android系统中的体现
  6. 如何安装部署秋色园QBlog站点
  7. 单例模式(Java)
  8. 南京高中计算机老师,南京市教育局召开中小学教师信息技术应用能力提升工程2.0市级专家组工作会议...
  9. java guava map_使用googled的guava常见ImmutableMap、Multimap、Sets、Optional、Objects及Preconditions检查等用法...
  10. 事务例子_图文详解:数据库事务与锁
  11. Java关闭挂钩– Runtime.addShutdownHook()
  12. 你的Node环境有问题?这篇文章可以帮到你!
  13. linux 内核参数解释整理
  14. 进位位判别法_''进位-判断-执行''的通用思想
  15. QtCreator设置代码美化astyle之Artistic
  16. Kubernetes Service与Ingress详解
  17. 将图片资源放入 html 文件中
  18. 各国iPhone5系列最新裸机价格
  19. 运维开发面试题集锦(25k-35k)
  20. 五种经典卷积神经网络

热门文章

  1. 架构师考试的一些想法
  2. Tomas语录-关于String.valueOf()
  3. 微信的cookie 和 session
  4. Kickstart +ftp+dhcp+tftp实现Linux系统的无人值守安装
  5. linux下tar压缩使用
  6. 【拯救赵明】UTM解决网络安全大问题
  7. “加密解密专区”的“滚动”广告太老了
  8. mysql4语法_4 MySQL 语法技巧
  9. 《深度学习》李宏毅 -- task3误差和梯度下降
  10. 大数据可视化系统开发的作用