#读书笔记#温伯格技术思想三部曲:程序开发心理学――第9章、智力水平及问题求解能力

如果你与程序员一起工作,那么你就应该意识到自己的周围是一批智力超过常人的人。当然,“智力水平”并不能代替所有方面;无论“智力”一词的含义具体如何,只要我们能够着眼于智力水平对程序开发工作的影响,就可以更好地理解该过程。


=========================

心理定势


心理定势(Psycholigical Set)已被证明是一种障碍,人的眼睛总是倾向于看到自己所期待看到的东西。与“定势”这个概念相关的是“距离”的概念。例如duck、dack、daxk这三个字符串,人们更倾向于将dack误认为成duck,而将daxk误认为duck的机率要小的多。根据信息理论,两条信息之间的“距离”被定义为二者的比特位表示之间不同的比特位的数目。


之所以要在程序中添加注释,是为了让读者能够正确地理解相应的指令或语句。只有在注释所说明的代码本身是正确的时候,这种方式的注释才会真正有用。然而,一旦代码本身有误,由注释引起的心理定势,只能使得代码中错误更难被发现。在查找程序中的错误时,许多经验丰富的的程序员还是有一种把所有注释都遮盖起来的习惯。这种习惯的好处在于,可以尽量减少心理定势的作用。


=========================

问题求解的一些维度


那些没有落到我们头上的麻烦总是很难引起我们的重视,这就好比在进行问题求解时所做的出色工作也总是难以引起人们的重视。一旦问题的答案揭晓,人们就会很容易把在解决该问题之前自己所面临的困惑扔到九霄云外。首先一个问题之所以会很难,最常见的困难之一就在于我们可能忽视了一些因素。一旦我们自己发现或者被告知说某个因素很重要,那么求出最后的答案就变得轻而易举了。


但反过来,如果我们事先就假设某个因素很重要的,而实际上该因素对我们手头的工作没有多大的影响,那么也类似地有可能使我们迷路。如果一名程序员在调试别人的程序时花费了很多的时间,那么他很快就会明白:在解决问题之前,不要去听任何的解释。因为,这些解释很容易将倾听者引到解释者的老路上去;而解释者原来在这条路上之所以没有成功,是因为他曾经做过一些错误的假设,但是通过倾听,新的程序员也会接受这些错误的假设,于是必然会重蹈覆辙。


问题求解的第一法则,难道就是“千万不要有任何假设”吗?这恰恰是错误的。实际上,只要我们在问题求解时获得成功,我们就必须进行一些假设。如果我们将自己遇到的每个问题都看作全新的问题,那么我们在问题求解方面的效率就不可能得到提高。比如说,我们的心理定势,虽然它可能会误导我们,但是在大多数情况上,这恰恰是我们最为宝贵的优点。因此,真正高明的做法并不是把所有假设统统抛弃掉,而是要在必要时,充分灵活地利用各种假设。换言之,所谓高明的人,并非有什么万能的解题模式可以适用于所有问题,而是拥有一系列“解题模式”,但是他们对其中的任何一个模式都没有偏爱,所以不至于出现因为对某种模式割舍不下,而忽视了最适用于当前问题的那种解题模式。


我们还必须努力摒弃关于智力的另一种谬论。无论如何终极地对智力做定义,智力只是一个从统计上讲才有意义的概念。我们永远也不可能只凭其在某个特定问题上的表现,就断定一个人的智力水平。实际上,借助很多非智力因素,同样可以得出“正确”解答;同时,一些智力因素也可能会得出“错误”解答。


=========================

程序开发的智力因素


在很大程度上,如果只是因为某些人能够比其他人更好地做某些事情,那么应该说每一种问题求解技术都是因不同问题而异的。任何聪明的人都会在寻找解决问题的方法时,充分运用其最擅长的方面,同时尽力去回避自己的弱点。


首先,确实有所谓的“格式塔完形心理学”,即在未经任何定位之前,就认定某些东西的位置有误的一种整体的感觉。接下来的,是一种从难以改变的环境中摆脱出来的能力,这种能力可以改变人们的“观察点”,甚至会为此而使用一些“盘外招”,例如暂时离开一下,去取一杯水等等。但是人们笼统的认识终归要发展到对特定问题的认识,这就是此处所谓的“对焦”过程。虽然逐一仔细地对每一行、每一词或每个字符进行检查,并不能有效地发现错误,但是等到最后,这种细致入微的能力必然会变得重要。因此,就程序调试工作而言,需要程序员同时具备这套互为补充的能力。怪不得优秀的调试员总是凤毛麟角!


然而,更为难得的是优秀的文档员。在文档编纂的过程中,有很多方面都可能会出现问题。首先,要是程序本身就写得很蹩脚,再好的文档也不会有妙手回春的神力。而由于程序员往往需要为自己的软件产品编写文档,所以如果要成为一名优秀的文档员,你必须首先是一名出色的程序员。当然,你还必须培养自己运用语言和图表来自我表达的能力。最后,你还必须有足够的耐心,以消除文档中最后的几点含糊不清之处。要知道,最后5%的努力,总能使你的文档文采倍增。


=========================

智力测验


在“真实的生活”中,只有“选择性的记忆”才有作用。这种选择能力,可以使我们忽略不重要的信息,同时在很长的一段时间内保留住重要的信息。


只要有人向他们许诺说可以提供一个别致的方法,这些公司就很容易上当受骗,既然到处都是冤大头,那么江湖骗子自然就会大行其道。


你可能感兴趣的:(温伯格技术思想三部曲,程序开发心理学,智力水平及问题求解能力)