代码改变世界

读书笔记 《你的灯亮着么》

2010-07-03 04:00  yuxiong  阅读(300)  评论(0编辑  收藏  举报

希望大家能去我的博客查看详情:技术点滴

 

      这本书早在去年就有人一直推荐我去看看,刚好上周整理文档的时候,发现了这本电子书,我就顺便拜读了下。53页的文档我花了整整一天的时候才看完一遍,但是我觉得这是远远不够的,我想每一次阅读都可能会带来新的体验,现在,我只想记录下我的一点体会。

 

1.问题的定义:

      问题其实就是你的期望和你的感受之间的差别。

      我们生活,学习,工作中会碰到大大小小的问题,我们所在意的不是问题是什么,我们只在乎问题怎么才能被解决!所以不管看上去如何,我们都很少知道要的是什么,直到问题被解决之后。

      而实际上,所有的问题没有最终的解决方案,只有合适的解决方案。对于一个问题的解决会引起新的问题,只是新的问题造成期望与感受之间的差异会少一些而已。所有在不对问题进行更深层次的理解之前,我们的一些尝试和努都是在漫无目的的寻找最好的解决方案。

对于一个程序员来说,我们手头上无数的bug为何永远都不见少,看看这本书之后或许你就有一些触动,所以我们在遇到bug之后一定要好好去想想这个解决这个问题会不会造成更多的问题?

      如果每次我们都能在碰到问题之后第一反应就去想什么才是我真正的问题。

2.问题到底是什么?

      如果在你对问题的理解中,你想不出至少3 样可能出错的东西,那么你并没有真正的理解这个问题。

EX1.

问题:如何在磁盘上实现归并排序的简要思路?

  在给出解决方案之前,一次友好的对话能够带来的信息是巨大的

为什么非要自己编写排序程序呢?为什么不用系统提供的排序功能呢?

我需要在一个大系统中排序,由于不明的技术原因,我不能使用系统中的文件排序程序。

需要排序的内容是什么?文件中有多少条记录?每条记录的格式是什么?

  文件最多包含一千万条记录,每条都是7为的整数。

………(@##@@@)

       我想编程珠玑开篇提到的这个例子实际上也是在告诉我们碰到问题,都要去多问几个问题,不断改变问题的表述或许会更清晰的去体会和理解问题,这样才会想出更好的解决方案!

3.谁的问题?

当别人能够很好地解决自己问题的时候,千万不要越俎代庖。如果某人能够解决这个问题,但是他本人却并不会遇到这一问题时,那么你们首先要做的就是让他也感受到这一问题。

我们的进行测试的过程中,为什么要对bug进行一个记录,需要被重现,这些都是一个道理,测试人员就是应该让开发人员更好的去感受这一问题。

试试换过来指责你自己――即使只有一秒钟。

碰到问题,我们更多的是想着怎么推卸责任,想问题应该不是我造成,我们指责他人造成这个问题,但是却不愿意承认问题是我的。假设你先想想我为什么会带来这个问题,以第一人称问问自己,问题是怎么造成的,这个问题该怎么理解,自己解决这个问题怎么样才能更好的解决。

 

   当然,这只是我今天大致阅读完之后的一点感受。遗憾的是这本电子书没有插图,只是试读本(53页),可能内容不是很全,希望网购本书之后再进行一次深入的阅读!

 

下载:

《你的灯亮着么》