阅读代码就像阅读犹太法典_最新动态_新闻资讯_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 新闻资讯 > 最新动态 > 阅读代码就像阅读犹太法典

阅读代码就像阅读犹太法典

 2011/12/7 9:17:27    blog.jobbole.com  我要评论(0)
  • 摘要:导读:AlanSkorkin写过一篇文章,讲述他为什么喜欢阅读他人代码,并建议其他同行也如此。可理解为:阅读优秀代码是提高开发人员修为的一种捷径。微软的资深软件工程师EricLippert在答复同行JeremyK的问题时也感叹阅读代码很难。SethGordon给JoelSpolsky发过一封电子邮件,分享有关阅读他人源码的一些不错建议。以下是邮件的译文:在以色列的神学院学习8个月后,我开始在波士顿当一个技术作家。一年多前,我和一位同事正试图解释一个Yacc和Perl的怪题,我们打印了部分文档
  • 标签:代码

  导读:Alan Skorkin 写过一篇文章,讲述他为什么喜欢阅读他人代码,并建议其他同行也如此。可理解为:阅读优秀代码是提高开发人员修为的一种捷径  。微软的资深软件工程师 Eric Lippert 在答复同行 JeremyK 的问题时也感叹阅读代码很难。

  Seth Gordon 给 Joel Spolsky 发过一封电子邮件,分享有关阅读他人源码的一些不错建议。以下是邮件的译文:

  在以色列的神学院学习 8 个月后,我开始在波士顿当一个技术作家。

  一年多前,我和一位同事正试图解释一个 Yacc 和 Perl 的怪题,我们打印了部分文档。我们坐下来看代码输出并逐行讨论。“现在,由于 Yacc 的工作方式,当遇到*this*这样的数据时,它就将运行*this*函数…… *this* 这一行是做什么的?就*this*这一点,这个混乱的数据结构看起来像什么?

  另一位同事问事情进展如何,我告诉他,“这就像在阅读犹太法典(Talmud)。”

  下面就是犹太法典的阅读战术,我认为同样适用于阅读源码:

  1. 结对进行,一个一个相互自言自语读代码。(编注:应该轮着解释代码。)

  2. 讨论。如果你的搭档说“这个是X的意思”,当你并不理解或者你有其他看法时,请他作出解释。

  3. 有时候,当在处理一段文字(代码)时,很容易找出你能看懂的两部分。所以,如果有段文字(代码)难住你了,可尝试跳过,稍后返回再看。(最终还是要回到该处的。)

  4. 阅读原文,既要“从内看”,也要“从外看”。“从内看”就是一个字一个字地把原文解释成英文(或你的母语);“从外看”就是把一段文字诠释通顺的段落。如果只“从内看”,你会只见树木不见森林;如果只“从外看”,你会只有个宽泛的猜测,也没有核实细节。

  (Joel Spolsky  )谢谢你,Seth!很好的想法!

  结语

  文章开头提到的 JeremyK ,他对阅读不熟悉代码的看法是,自己重写。 关于阅读代码,如果您有其他建议,欢迎在评论或微博中分享。

发表评论
用户名: 匿名