我最近想明白了一些事情。最好的写程序的地方不是在你的计算机前,不是使用你的编译器、IDE或其它一些工具。这最好的地方是一个远离这些工具的场所 —— 是某个能让你认真的思考的地方。对于一个你很熟悉的编程语言,你很容易把你脑子里已经构思好的程序转换成编译器/解释器可以编译/解释的程序 —— 难就难在如何在脑子里先把程序编好。

有 一天我乘火车旅行。我带了笔记本,但没有网络。不幸的是,我使用的是一种商业编程语言(IDL,真不巧),这种语言需要使用我大学网站上的许可证。因为不 能连上互联网,我拿不到许可证,于是我的编译器和IDE就跑不起来。你可能会喜欢使用一个需要昂贵的许可证的商业编程语言,但它的确使我不能在编辑器里写 任何的代码。而你猜这么着 … 这让我开始思考!

我想这篇博客正好印证一篇博客的内容,它里面说道:
我从我的第一个老板那里学到的最大的一个教训是:“当你的程序运行异常时,不要使用debug工具,用你的大脑。”

这就是远离电脑后会迫使你去做的事。通常你很容易进入这样一种编程习惯:

  1. 写一些程序(乱糟糟的)
  2. 编译,运行
  3. 使用简单的测试用例进行测试
  4. 发现有问题
  5. 小改一下程序,也许能解决这个问题
  6. 重复 …

这当然会导致程序最终乱糟糟的,无法阅读理解,很有可能问题多多,没有很好的测试。

远 离计算机能迫使你在大脑里周全的思考所有的问题 —— 这跟你抱着计算机编译、运行你的程序相比可能会花更长的时间(至少对于小程序是这样)。可是,这样做后,你就不会去一点一点的改动程序、一遍遍试着运行它 们了,你是真正的思考这些代码是做什么的。在那天、在火车上之前,我还从没有在纸上规划过任何的程序。

而从此之后我努力在写程序之前会把思路画在纸上,思考它,一步一步的用代码实现,做出高质量的,高效的,没有问题的程序,多去思考,最后才在编译器上运行。程序是最后才从纸上拷贝到编译器里。

任务完成的很好。

—— 我自认为,希望这是一个有用的建议。

想要写好的程序应该远离计算机相关推荐

  1. c语言写贪吃蛇什么水平_学了一些C语言,也不知道自己学到什么程度,自己想写个贪吃蛇但是写不出来,想看懂下面这个程序,求解释...

    已结贴√ 问题点数:20 回复次数:3 学了一些C语言,也不知道自己学到什么程度,自己想写个贪吃蛇但是写不出来,想看懂下面这个程序,求解释 #include//基本库 #include//系统库 #i ...

  2. 想靠写程序赚更多钱,写到两眼通红,写得比别人都又快又好好几倍,结果又能如何?

    IT软件行业,一直被别人看做是高薪的行业,当然跟占柜台的比,扫大街的比,那是高多了,杭州城城西,24小时开业的小店,店员是3班轮换,每个月工作30天慢,每天8个小时,每个月工资1200元不包吃不包住, ...

  3. mapreduce编程实例python-使用Python语言写Hadoop MapReduce程序

    原标题:使用Python语言写Hadoop MapReduce程序 Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发. 在本教程中,我将描述如何使用Pytho ...

  4. 学了C语言,如何利用CURL写一个下载程序?—用nmake编译CURL并安装

    在这一系列的前一篇文章学了C语言,如何为下载狂人写一个磁盘剩余容量监控程序?中,我们为下载狂人写了一个程序来监视磁盘的剩余容量,防止下载的东西撑爆了硬盘.可是,这两天,他又抱怨他的下载程序不好用,让我 ...

  5. 用JScript.net写.net应用程序(转)

    javascript是一门很神奇的语言,灵活,容易学习,而且概念很超前.但是现在似乎被钉死在了浏览器上,其实这个才是javascript被人最大的误解.M$的.net平台提供了全功能的JScript支 ...

  6. python画完图 程序暂停运行_[Python实战]你也能写的计时器程序

    文章地址:[Python实战]你也能写的计时器程序 上次,公众号介绍了如何使用 Pyqt5 制作猜数游戏界面,并介绍了如何在 Pycharm 中使用 Qt Designer 生成 UI 文件.这次,我 ...

  7. 不喜欢写测试的朋友看过来,与你分享写测试的经验 做一个爱写测试的程序员...

    自从掌握了单元测试的要领之后,经常写测试,做测试,也非常喜欢做单元测试.我的文章<数据采集:完美下载淘宝Ip数据库 简单的程序节省60元人民币而不必购买数据库>中的代码,也是个测试方法,源 ...

  8. 徐磊(Devops):一名写了十几年代码但还没写够的程序员

    徐磊(Devops 社区领袖) [个人介绍] 徐磊,微软MVP(微软最有价值专家,大中华区域社区技术总监,Devops 社区领袖),从事过网管.技术支持.网络.软件开发等工作,一名写了十几年代码但还没 ...

  9. 控制台编写JAVA程序教程_写一个java程序的步骤是什么?写java程序技巧

    写Java程序是要按照步骤来的,这样才能写好一个java程序,那么接下来,我们就来给大家讲解一下写一个java程序的步骤是什么? (1)创建Java项目:"FileàNewàProjectà ...

最新文章

  1. Fabric--启动网络自动
  2. 让你受用一辈子的181句话
  3. SAP Spartacus public API的概念 - index.ts
  4. 一个具体的例子学习SAP S/4HANA里Fiori应用的排错分析
  5. c++中非静态函数不能用类名调用,为什么CWnd的成员函数GetDC()可以直接调用啊?
  6. java获得电脑性能_Java:使用SingletonStream获得性能
  7. 树上倍增求LCA详解
  8. c#象棋程序_C ++程序确定象棋方块的颜色
  9. AngularJS Slider指令(directive)扩展
  10. 麻省理工线性代数第二讲
  11. 2021亚太杯数学建模竞赛
  12. java输入、输出流的简单入门
  13. 阿里云服务器搭建Ghost博客教程
  14. 香港传媒高层访团莅临深之蓝参观访问
  15. 西安2020EC游记
  16. 软件设计师近10年上午真题解析知识点(并非绝对完整版)
  17. php mysql可以跨站_Laravel5中防止XSS跨站攻击的方法
  18. JavaScript的prompt用法
  19. 非托管内存转换为System.Drawing.Bitmap
  20. Spring5框架-IOC容器

热门文章

  1. CSS3 创建简单的网页动画 – 实现弹跳球动
  2. JavaScript 获取 当前日期和三十天以前日期
  3. Shell脚本编程30分钟入门
  4. FunDA(7)- Reactive Streams to fs2 Pull Streams
  5. 详解 Android 的 Activity 组件
  6. Xcode5 使用gitHub上库的SSH地址建立Repository,以及如何通过Xcode把代码传到GitHub
  7. 三星 平板手机电脑 Galaxytab2忘记开机密码解决方法
  8. ASP.NET MVC数据标记验证
  9. 书店看不要钱的JS笔记
  10. 20万RMB!学数据分析的朋友一定要看!