打字猴:1.70049055e+09
1700490550 然而,代码中的模式匹配也有不好的一面。看看下面这个用可敬的C语言所编写的经典代码片段:
1700490551
1700490552 if (receivedHeartbeat())
1700490553
1700490554 resetWatchdog();
1700490555
1700490556 else
1700490557
1700490558 notifyPresident();
1700490559
1700490560 launchNukes();
1700490561
1700490562 在这个令人遗憾的例子中,不论receivedHeartbeat()的值是多少,launchNukes()总是会被执行。缩进的代码看起来很舒服,可读性强,但是编译器并不这样认为:else只关联了第一个语句,缩进反而起了误导的作用。排版对感知具有很强的影响——无论是好还是坏。
1700490563
1700490564 适应不同技能层次。
1700490565
1700490566 Accommodate different skill levels.
1700490567
1700490568 请努力使用一致的排版提示来辅助可视化知觉。编译器也许不在意,但是我们的确在意。对下述可能会出现的情况也要理解:如果你处于较高的技术水平上,同时又遭遇到团队里其他人的阻力,要明白他们看待问题的方式肯定和你不同。他们不会自觉地认识到这种价值,因此你必须向他们解释。
1700490569
1700490570 如果你没有看到这些模式的价值,但是团队里的专家们意识到了,那么请遵循他们。记住,这不是一种浪费时间的愚蠢修饰,而是一种重要的交流工具。
1700490571
1700490572 4.5.2 换换脑子
1700490573
1700490574 很多时候你难以看清摆在面前的事情,因为你已经习惯于通过某种特定的方式来看待模式。我们往往会遵循老套子,即陷入特定的思维模式和习惯的思维方式。努力从完全不同的角度看待问题,这是获取洞察力的诀窍。
1700490575
1700490576 车辙和坟墓之间的唯一区别在于尺寸。
1700490577
1700490578 The oniy difference between a rut and a grave is the dimensions.
1700490579
1700490580 举例来说,这里有一道题可能会难倒你(如果你已满六岁):施洗约翰(John the Baptist)和维尼熊(Winnie the Pooh)之间有什么共同点?答案〔37〕不是你通常所想的。好了,这是一个傻傻的玩笑,但是我想说的是,这个完全出人意料的字面答案来源于一种你可能不习惯的情境。
1700490581
1700490582 拥有创造力和问题解决能力的关键在于寻找思考问题的不同方式。不同的关联会强制R型发起不同的搜索,这样新的素材可能立即就会出现。
1700490583
1700490584 把问题倒过来。
1700490585
1700490586 Turn the problem around.
1700490587
1700490588 Dave Thomas在面对难题时,经常会说“倒过来看”。这是一种智力冲撞:使你脱离思维定势,从不同角度思考问题。
1700490589
1700490590 举例来说,录音师都会使用这样一种流行的技术来混合唱片。为了尽可能让声音好听,他们首先录一遍,把每一种乐器的声音弄得尽可能差。萨克斯管的音色沙哑,调高吉他的品丝噪音,让电贝司嗡嗡作响,等等,无一例外。现在翻转整个设置:把一切导致声音差的事物都调整或者关闭以获取清晰、动人的旋律。
1700490591
1700490592 这种视角的简单转变,也就是从相反角度思考问题,本身是一种非常强大的技术。你可以在调试的时候使用这种技术:不要努力预防难以发现的bug,努力找到三四种会主动引起bug的方式。这样,你可以发现到底会发生什么。在用户界面设计时或许也可以尝试同样的方法:不要努力去想完美的格式或者流程,先做一个最差的设计方案。这将帮助你意识到什么是真正重要的。
1700490593
1700490594 诀窍17
1700490595
1700490596 改变解决问题的角度。
1700490597
1700490598 在A Whack on the Side of the Head [vO98]一书中,Roger von Oech列举了许多不同的“换脑法”,例如逆向思维、夸大想法、组合完全异类的想法等。
1700490599
[ 上一页 ]  [ :1.70049055e+09 ]  [ 下一页 ]