Chinaunix首页 | 论坛 | 博客
  • 博客访问: 301645
  • 博文数量: 94
  • 博客积分: 2163
  • 博客等级: 大尉
  • 技术积分: 932
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-20 09:23
文章存档

2012年(2)

2011年(92)

分类: C/C++

2011-10-18 21:59:15

最近我认识到一些事情。写代码的最好地方不是在电脑前用你的编译器、集成开发环境和各种工具来写。写代码最好是远离所有这些工具,去到你能够正确思考的地 方。你相当熟悉一种语言了,你很容易就能把你心中的程序翻译成编译器可以编译(或解释器可以解释)的程序,不过,难就难在心中形成程序。

  前几天我坐火车去旅行。我带了电脑,但没有网络。很不幸,我正要用一个商业编程语言(碰巧是IDL),为此我得用我们大学的网站许可。由于无法上网, 我无法获得网站许可,这样我也就不能运行编译器和集成开发环境。虽然你喜欢商业编程语言,但它需要昂贵的许可,而它那时使我不能用编辑器写代码。那么…… 想想看是什么…… 到底是什么使我思考!


  编者:IDL-Interactive Data Language,IDL是一种数据分析和图像化应用程序及编程语言,先由美国ITT公司所有。最初在七十年代后期用于帮助科学家分析火星探险卫星发回的 数据,将浩瀚的数据转换为图形。从此后,IDL得到广泛运用,使用者日众,呈几何级别增长。IDL用户可以迅速且方便地运用此软件将数据转换为图像,促进 分析和理解。通过软件转化的图像既可以是简单色彩,也可以是全色三维图像和模型。),

  我想这篇文章与《 Does Visual Studio Rot the Mind?(Visual Studio 是否使人脑退化?)》中的下面的这句话有点相似:

  我从第一任老板那里学到的最好的一课就是:“如果你的代码无法如你期望的那样运行,不要用调试器(debugger),自己想。”

  那就是离开电脑后迫使你做的事情。人很容易陷入下列的思维模式:
  • 写一些(相当差的)代码
  • 编译和运行
  • 用一个选择不当的测试案例来测试
  • 发现它无法运行
  • 做一些小改动,或许可能解决问题,
  • 重复以上步骤……

  当然这导致最后编写的很差,可能有很多问题,测试通不过。

  离开电脑,迫使你充分调动你头脑里的想法,与用电脑编译和运行代码相比,那会花更多时间(至少对小程序来说是如此……)。因此你不需要做很多小改动和 重新运行,你会认真思考代码在做什么。自从计算机A 级考试以来,直到我前几天在火车上这样做的时候,我才第一次在纸上“运行”代码(就是说,写好每个变量的列,并在程序中计算出每个变量的值)。

  就前几天写代码这个例子来说,我在一张纸上写出代码,思考所写的代码,逐步打出一些代码,思考更多,时间长了之后我就尝试用编辑器编辑,设法写出了一 些质量高、快速并且无漏洞的代码。最后我把代码(一些涉及很多递归的区域增长图像分割代码)从纸上复制到我的集成开发环境中,第一次就编辑(只有一个句法 错误 ——我永生难忘)并运行成功(而且完成了所有我在纸上设计的测试)。

  我认为工作完成得很好,并希望这是一个有用的建议。


  -------------------------------------------------------------------
   关注“程序员的那些事”的微博,和喜欢此文的猿媛一起交流互动~

   (新浪微博)

  -------------------------------------------------------------------
  你可能对以下文章也感兴趣

  
  
  
  
  

  -------------------------------------------------------------------
  译文出处:在线 - 职场博客 - 程序员
  译文链接:
阅读(1562) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~