请少用Google – Look At the Code!

一 30th, 2012

俗话说:“内事不决问百度,外事不决用谷歌”。其实这话不一定对,看了这篇文章后,决定以后要多读源代码,少用google。

英文原文:
http://railstips.org/blog/archives/2010/10/14/stop-googling/

以下为我的大概翻译并且少量增删改

昨天,一个朋友问以前有没有使用过Typhoeus,我说用过,于是他问我能不能用它来跟踪重定向, 他说他google过但没有找到办法。

我向他吼了一声“LOOK AT THE CODE!”,其实问题几分钟后就解决了。似乎现在开发者都有一个误解:如果连google都搜索不到的东西,就不会存在。

我的解法

  1. 打开浏览器输入 http://github.com
  2. 搜索typhoeus
  3. 点击Paul Dix的资源库
  4. 点击 lib/目录。一般gem都会把重要东西放到lib下,所以先看这里。
  5. 点击 typheous/目录。一般好的gem会在ruby文件的gem名前有一个辅助名字。所有内容放在与gem同名的文件夹下。
  6. 找到request.rb,名字看起来是我们要找的,因为我们在查找如何发起一个请求。
  7. 在第7行有一个attr_accessor带很多选项,有两个吸引了我:follow_location 和 max_redirects。
    这两个好像就是与他要找的有关,下面还有介绍选项的文档,包括上面提到的两个。
  8. 复制文件的链接,发给那个伙计,再吼一声“LOOK AT THE CODE!

如果你不了解我,你可能会觉得我过于暴躁。其实我是非常认真的:作为开发者(非码农)我们写代码,不仅要会写代码,还应该会读代码。

副作用

读源码,除了能让你找到问题的答案外,还有一些其它好的副作用

首先,当你读代码,尝试找到答案的时候,“你很快就会对工程如何组织有个大概的感觉”这能帮你决定是否要继续使用这个工程。如果它看起来一团糟,很不靠谱,你可以去寻找替代项目,或者自己写一个,复制别人也很好!

第二,了解不同的编码风格和技术,这对以后个人提升当然有好处。已经有人分享过“阅读代码的好处”。

第三,更好地了解项目是如何工作的,或许还能发现一个更好的解法。

第四,阅读代码越来越快。学会如何查看项目的代码和到哪里寻找项目中需要的代码。解决一个问题,我直接查看源码花费的时间和google搜索花费的时间是一样的。

第五,看代码会让你上瘾。你的脑海里会充满各种想法。你明白其它人是怎么解决问题的并能想出更好的办法。

你将开始创造,你将得到提升。

结论和一些工具推荐

  1. 让github一直在你指尖。
  2. gemedit。使用你喜欢的编辑器打开gem源码。
  3. open gem。功能同上
  4. gem which some/ruby/file | xargs $EDITOR 使用喜欢的编辑器打开源码。
    如: gem which nokogiri | xargs vim 使用vim打开nokogiri这个gem的源码。

    记住,当下次你想google的时候,STOP,读源码。这篇文章只想授你以渔,而不是授你一鱼。

标签: ,
>>原创文章,欢迎转载。转载请注明:转载自Ruby迷,谢谢!
>>原文链接地址:请少用Google – Look At the Code!
  1. PikachuEXE
    一 31st, 201210:24

    我一直接觉得gem和github整合是一件十分重要的好事
    因为如果放在其他地方,读code会较难,又不能自己尝试改code
    现在有几个gem我都是改code来解决遇到的问题,还能作出贡献,一举两得

    • 老宋
      一 31st, 201212:41

      ruby的ecosystem做的非常棒! 像bundle, gem, github。这点其它语言即使是很流行的,如c,c++,java也没有统一,有些即使统一了也没有ruby的好用。