打字猴:1.700490247e+09
1700490247 我曾经与极限编程之父Kent Beck笼统探讨过隐喻,他说:
1700490248
1700490249 “隐喻思维是编程的基础,因为它存在于所有的抽象思维中。如果我们没有意识到隐喻,就可能误入歧途。而混淆隐喻会削弱其自身的能力。为什么要在子类中覆盖方法?(Why do we override a method in a subclass?)清晰的隐喻使代码更易于学习、理解和扩展。”
1700490250
1700490251 清晰的隐喻是一种强大的工具,但是我们总是不能正确把握它。Kent接着说:“为什么我们会用错隐喻?为什么add()相对的函数并不总是delete()?为什么我们向容器中insert()东西而不是add()?程序员们对隐喻的使用并不认真——表单(table)根本不像表单,线程(thread)不像线程,存储单元(memory cell)既不像存储也不像单元。”
1700490252
1700490253 我们使用了如此多的隐喻,很多我们都没有察觉到(如窗口、鼠标,等等)。不假思索地提出第一个隐喻是非常容易的,但是这往往不是你能用的最好的隐喻。
1700490254
1700490255 提出衍生式隐喻是很困难的。
1700490256
1700490257 Generative metaphors are hard.
1700490258
1700490259 提出一个非常好的具有衍生式属性且适合情境的隐喻非常困难。没有“隐喻编译器”告诉你它正确与否,你不得不在实践中尝试。使用该隐喻指导你的设计,记住它是如何帮助你的,或者如何不起作用。你不会立刻知道答案,结果是不确定的。正如我们在4.3节所说的,你需要坦然面对不确定性。不要强迫自己立即做决定,做到心中有数就好。
1700490260
1700490261 在经历一些实践之后,你可能突然意识到你最初使用的这个隐喻是错误的,另一种想法实际上更适合(这当然很好,只需要做一些代码重构)。
1700490262
1700490263 如果不习惯于主动创建隐喻,你可能会发现实践一个系统级别的隐喻很困难〔24〕。但是有一种足够有趣的方法可以提高你创建隐喻、类比的能力。
1700490264
1700490265 4.3.8 讲个笑话吧
1700490266
1700490267 幽默既不是浪费时间,也不是无害的消遣,而是反映了思维、学习和创造所必需的重要能力。它与联系有关。
1700490268
1700490269 幽默产生于在不同的想法中制造新奇的联系。这听上去可能有些荒唐,不过幽默往往就建立在识别关系并扭曲关系的基础之上。例如,“我最好的朋友带着我老婆跑了,我真的很想念他。”你还以为主要关系是说话者和他的老婆,但事实上他与好朋友的关系是他想要强调的,这种扭曲的联系就显得很有趣。
1700490270
1700490271 Take my wife.
1700490272
1700490273 来自于汉尼·杨曼〔25〕的经典名句:“Take my wife. Please.”起初,你可能认为“take my wife”只是一个惯用语,意思是“例如,考虑一下我妻子的感受”。可后来你才意识到这是一个悲伤的请求〔26〕。语锋陡转正是幽默的来源。创造力来自于你意识到“take my wife”具有多重含义并利用这种潜在的可能性来制造误解。
1700490274
1700490275 众所周知,喜剧演员史蒂夫·赖特经常会打一些生动有趣的比方,例如,他说他的朋友,一位电台播音员,在开车经过一座大桥下时就会消失。其实,赖特是作了一个类比,既然电台信号在大桥下可能消失,那么电台播音员也可能会这样消失。他还说曾经偶然用车钥匙开家门,开着公寓在大街上兜风。
1700490276
1700490277 除了作类比,你还可以超常扩展一个已然存在的想法。举例来说,如果飞机的黑匣子能够幸免于难,那为什么不能让整架飞机安全无恙?
1700490278
1700490279 在任何情况下,幽默的能力都来自于发掘或扩展常规之外的关系,真正突破思维界限。急智——能够发现无关事物的联系或者扩展思维突破其界限——是一种值得在团队中实践、锻炼和提倡的技能。
1700490280
1700490281 诀窍15
1700490282
1700490283 培养幽默感以建立更强大的隐喻。
1700490284
1700490285 Have you seen my fishbowl?(你看到我的鱼缸了吗?)隐含的、习惯性的参考系会让你认为我在寻找鱼缸。但是,如果回答是:“是的,它刚打了个好球。”那么这么来看,我们就处在一种完全不同的卡通参考系中,bowl被变成了一个动词〔27〕。
1700490286
1700490287 通过练习制造这种广泛的联系,你会更精于此。事实上,你会逐渐改变大脑的结构来适应这种新活动。
1700490288
1700490289 4.3.9 实践单元
1700490290
1700490291 □ 创造更多的隐喻。你可以将其作为软件设计的一部分或者更艺术性的东西——自己编笑话、故事或歌曲。
1700490292
1700490293 □ 如果你在创造隐喻方面是新手,从简单入手,翻翻同义词词典(就是书店里摆放在词典旁边的大厚书或者在线词典程序的“其他”窗口)。
1700490294
1700490295 □ 要想更深入地研究,尝试WordNet(适用于所有平台,见http://wordnet.princeton.edu)。它会提供同义词、反义词、抽象词、具体词和其他各种衍生词。
1700490296
[ 上一页 ]  [ :1.700490247e+09 ]  [ 下一页 ]