新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     >>计算机科学论坛<<     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> 本版用于讨论编程和软件设计的技巧
    [返回] 计算机科学论坛计算机技术与应用『 编程心得 』 → [转帖]优秀程序员的两大要素:懒+笨 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 36360 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: [转帖]优秀程序员的两大要素:懒+笨 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     binaryluo 帅哥哟,离线,有人找我吗?
      
      
      威望:6
      等级:研二(Pi-Calculus看得一头雾水)(版主)
      文章:679
      积分:5543
      门派:IEEE.ORG.CN
      注册:2005/2/19

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给binaryluo发送一个短消息 把binaryluo加入好友 查看binaryluo的个人资料 搜索binaryluo在『 编程心得 』 的所有贴子 引用回复这个贴子 回复这个贴子 查看binaryluo的博客楼主
    发贴心情 [转帖]优秀程序员的两大要素:懒+笨

    这是我的首篇转贴。
    转自:http://isec.dlut.edu.cn/detail_report.php?n_ID=272&level=1&ns_name=%CE%C4%CF%D7%D7%CA%C1%CF


      只有懒惰的程序员才会去编写那些可以最终代替自己工作的自动化工具,才不会成天为了实现相似的功能去编写大段大段冗余重复的代码 - 这种代码往往是软件后期维护和重构的天敌。通常来说,由于惰性的驱使所产生出来的工具和程序将最终极大的提高生产开发的速度。 


      当然,对于一个程序员来说,光光具备懒惰这个要素还是不够的。在享受懒惰之前,他必须以最大的热情和最高的效率去研究解放自己的途径,比如:找到最有助于开发的工具,最能体现“一次编写,多次复用”精神的代码架构的设计。只有在这些必要的工作之后,才可能真正享受轻松编程的乐趣。

      所以“懒”的精髓用一句老话来描述,那就是磨刀不误砍柴功。如果你不想办法磨亮手中的柴刀,就算一天二十四小时都在砍柴,效果也不如拿把锋利的斧头一天只砍一小时。

      从这个角度来说,Google给员工的20%自由时间是完全发挥了“懒”的能动力。为了更好的享受偷懒的乐趣,员工会更加具有创造力的去高效完成自己的任务。

      夸张一点来说,懒惰才是人类进步的原动力。

      笨

      这一点似乎比懒更让人不能接受。在解释这里所说的笨的具体含义之前,我们先看看一个聪明人(或者说认为自己足够聪明)会做什么:

      1) 停止学习新的东西

      2) 不愿意用批判的眼光去审视自己的工作

      第1点将使我们很难去接受或者主动的去研究一项新的技术 - 即使新技术能带给他更多工作上的便利。第2点会使我们无法清晰的分析自身工作的问题所在,要对其进行改进或者重构就更加困难。

      从这两点来考虑,作为一个程序员太自以为是不见得是件好事情。由于对自身的过于自信,往往无法客观的看待自己和自己的工作。相反的,笨一点(确切的说,谦逊一点)有时候倒有助于开发的顺利进行。举例来说,当程序出现bug的时候,最好尽早承认问题是出在自己编写的代码上面而不是在于编译器(当然除非是字节高低位编码方式之类的问题,这种问题编译器会是错误的根源之一)。如果你太自负的认为自己的程序没有问题而去猜测可能是编译器或者其他的什么外部因素出问题的话,那么十有八九你会在调试过程中走上一长段的弯路。

    --------------------------------------------------------------------------------


      程序员应该笨一些的更为关键的原因在于,当需要思考问题的最佳解决方案的时候,往往要求我们首先要跳出思维定式。你对系统了解的越多,积累了越多的经验,就越难走出已有的局限,可以尝试的范围就越小。相反的,对于一个什么也不懂的门外汉来说,因为没有任何失败的记忆和潜规则的约束,也就没有什么是“不可能”的,这样的大脑所能迸发出来的在专业人士看起来愚不可及的想法往往正是解决问题所需要的关键点所在。

      可能很多程序员都会有类似的经历,在面对别人(尤其是其他部门)对于一个bug的描述的时候,必须把自己摆在一个普通用户而不是程序开发者的角度来分析问题,否则的话可能你永远都想象不到这种错误也会发生。越能让自己变得“笨”起来,越能很快的定位到问题所在。我们先看看这么一段关于web开发问题的程序员和客服人员的对话:

      “从昨天开始我们的用户就看不到我们站点上的Logo了。”

      “他试过重启浏览器么?”

      “是的。”

      “他试过重启电脑么?”

      “是的。”

      “他清空过浏览器Cache么?”

      “是的。”

      “他的浏览器版本是IE6么?”

      “是的。”

      “他确信是真的看不到Logo了么?”

      “是的。”

      “他是在电脑显示器屏幕上看我们的站点么?”

      “什么?”

      “比如说,它可能是打印出来看不到?”

      “不。他是在显示器上看的。”

      “除了站点Logo之外,他是不是其他的图片都看不到?”

      “什么?哦。我再问问他。”

      从这段对话来说,估计用户实际上是禁止了浏览器显示图片的功能(或者他儿子干的)。不管怎么样,如果你不是用这种傻瓜式的思维方式去寻找答案的话,可能怎么也找不到问题的根源。

       很多时候,问题发现者对于问题的描述往往是非常片面的,并且加上了主观推测的成分在里面。如果你不能透过这些主观的描述去发现问题的实际表象,或者说根本就是你自己根据程序员的经验逻辑来判断问题所在的话,十有八九会在歧途上越走越远。

      对于白痴级的问题,只有用白痴的行为方式才能得到答案。

      即便同样是程序员,但对于你的程序并不熟悉,也会经常有这样的疑问:“为什么我调用你的代码出错了?”这种问题的答案,很多时候是因为他们的调用方式不对,或者调用了错误的库文件,或者库文件的版本使用不当,或者根本就没有联接到库文件上。当你想让同事帮你检查一下程序中的一个莫名其妙的bug的时候,一般来说希望他对你的系统了解的越少越好,只有这样他才会问一些你自己认为绝对不可能出问题的“笨”问题。

      所以“笨”的精髓在于你如何去思考问题:不要假设些什么,把自己假设的太完美或者把别人假设的很聪明都会使你忽视一些很浅显的事实。思考的前提必须是完整的事实表象,思考的过程必须是抛弃成见的问题跟踪。在发现事实之前作太多的主观思考和臆断,倒不如把自己当作白痴一样来行动更好。

      当然,不思考的一个极端是不分情况都直接去做,另一个极端是完全脱离事实,用思想办事。一个优秀的程序员应该做好权衡。10次决定里面的1次错误决定不是致命的;只做5次正确的决定而另外5次没有任何决定才更糟糕。

      最后是一个蜈蚣的故事。蜈蚣本来用自己的几百只脚走路走的很快很好,但他从来没有花时间去想过为什么。直到有一天,一只臭虫问他:“你是怎么管理好你的几百只脚的?你不觉得这是件很困难的事情吗?”臭虫问完之后就走了。只剩下蜈蚣坐在地上,不停的思考这个问题,却一直想不出个究竟。从此以后,这只蜈蚣再也没办法好好的走路了。


       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/12/30 23:32:00
     
     sptieren 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:3
      积分:66
      门派:XML.ORG.CN
      注册:2006/1/6

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给sptieren发送一个短消息 把sptieren加入好友 查看sptieren的个人资料 搜索sptieren在『 编程心得 』 的所有贴子 引用回复这个贴子 回复这个贴子 查看sptieren的博客2
    发贴心情 
    非常好的文章,对我有很大的启发
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/1/6 14:00:00
     
     xinxinglc 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(高数修炼中)
      文章:10
      积分:108
      门派:XML.ORG.CN
      注册:2006/1/4

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给xinxinglc发送一个短消息 把xinxinglc加入好友 查看xinxinglc的个人资料 搜索xinxinglc在『 编程心得 』 的所有贴子 引用回复这个贴子 回复这个贴子 查看xinxinglc的博客3
    发贴心情 
    呵呵。不错啊。顶!
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/1/8 14:39:00
     
     xiongbajian 帅哥哟,离线,有人找我吗?处女座1983-8-26
      
      
      头衔:低头赶路
      等级:大三(面向对象是个好东东!)
      文章:131
      积分:690
      门派:XML.ORG.CN
      注册:2005/10/21

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给xiongbajian发送一个短消息 把xiongbajian加入好友 查看xiongbajian的个人资料 搜索xiongbajian在『 编程心得 』 的所有贴子 引用回复这个贴子 回复这个贴子 查看xiongbajian的博客4
    发贴心情 
    不错

    ----------------------------------------------
    恰恰首页:http://www.qaqaa.com

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/1/11 15:16:00
     
     noahhu 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:3
      积分:67
      门派:XML.ORG.CN
      注册:2006/1/13

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给noahhu发送一个短消息 把noahhu加入好友 查看noahhu的个人资料 搜索noahhu在『 编程心得 』 的所有贴子 引用回复这个贴子 回复这个贴子 查看noahhu的博客5
    发贴心情 
    有怕启发
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/1/13 17:24:00
     
     noahhu 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:3
      积分:67
      门派:XML.ORG.CN
      注册:2006/1/13

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给noahhu发送一个短消息 把noahhu加入好友 查看noahhu的个人资料 搜索noahhu在『 编程心得 』 的所有贴子 引用回复这个贴子 回复这个贴子 查看noahhu的博客6
    发贴心情 
    很有启发
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/1/13 17:27:00
     
     jackprince 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:7
      积分:98
      门派:GOOGLEBBS.NET
      注册:2006/1/24

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给jackprince发送一个短消息 把jackprince加入好友 查看jackprince的个人资料 搜索jackprince在『 编程心得 』 的所有贴子 引用回复这个贴子 回复这个贴子 查看jackprince的博客7
    发贴心情 
    受教育了
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/1/25 13:13:00
     
     无聊居士 帅哥哟,离线,有人找我吗?魔羯座1987-1-1
      
      
      等级:大一新生
      文章:10
      积分:87
      门派:XML.ORG.CN
      注册:2006/2/13

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给无聊居士发送一个短消息 把无聊居士加入好友 查看无聊居士的个人资料 搜索无聊居士在『 编程心得 』 的所有贴子 引用回复这个贴子 回复这个贴子 查看无聊居士的博客8
    发贴心情 
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/2/15 22:36:00
     
     潭浩强的学生 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:0
      积分:59
      门派:XML.ORG.CN
      注册:2006/3/2

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给潭浩强的学生发送一个短消息 把潭浩强的学生加入好友 查看潭浩强的学生的个人资料 搜索潭浩强的学生在『 编程心得 』 的所有贴子 引用回复这个贴子 回复这个贴子 查看潭浩强的学生的博客9
    发贴心情 
    见解独特啊
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/3/2 15:57:00
     
     edison1209 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:3
      积分:72
      门派:XML.ORG.CN
      注册:2006/3/30

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给edison1209发送一个短消息 把edison1209加入好友 查看edison1209的个人资料 搜索edison1209在『 编程心得 』 的所有贴子 引用回复这个贴子 回复这个贴子 查看edison1209的博客10
    发贴心情 
    挺好的   对我很有启发阿
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/3/30 23:18:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 编程心得 』 的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/4/30 8:48:15

    本主题贴数16,分页: [1] [2]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    125.000ms