打字猴:1.700490217e+09
1700490217 使用随机并列来创建隐喻。
1700490218
1700490219 Use random juxtaposition to create metaphor.
1700490220
1700490221 两个想法差距越远,越难以通过有效的隐喻联系起来。当我们遇到一个格外具有创造性的隐喻且两参照系距离适中,我们就不得不几百年以来一直都颂扬这位作者:
1700490222
1700490223 轻声!那边窗子里亮起来的是什么光?那就是东方,朱丽叶就是太阳!
1700490224
1700490225 爱情是叹息吹起的一阵烟。
1700490226
1700490227 哲学是逆境中的蜜乳。
1700490228
1700490229 ——威廉·莎士比亚
1700490230
1700490231 窗子里的明亮之光是什么?它不是天体,是罗密欧在化装舞会上遇见的女孩。〔23〕爱是一种情感,与字面意义的烟、烟雾或叹息无关,但那将会在脑海中显现多么奇妙的景象啊。你几乎可以看见,小情人们那不可抑制的渴望,像丝丝烟雾一点点汇聚成浓重的云团和雾霭。
1700490232
1700490233 烟雾的参照系特征与情感(爱情)的参照系特征联系到一起,把很多已知但未明说的特征施加到情感参考系上。这种从一种参考系到另一种参考系的移植非常强大,我们完全可以加以利用。
1700490234
1700490235 这是文学作品中的隐喻,我们的工作中同样也有隐喻。
1700490236
1700490237 4.3.7 系统隐喻
1700490238
1700490239 极限编程(见Extreme Programming Explained: Embrace Change [Bec00])的最初发行版中提倡一种有趣的实践:系统隐喻。也就是说,任何软件系统应该能够通过一种适当的隐喻来描述。举例来说,薪酬系统可能被类比成一个邮局,有分布的邮箱、交付时间表等。而一个科学测量系统可能被看做是一个制造系统,有传送带、储存桶等。
1700490240
1700490241 虽然所有的隐喻最终都会瓦解,但是在这之前我们抱有的想法应该是,一个足够丰富的隐喻有助于指导系统的设计和解决开发过程中出现的问题(这种想法类似于我们在《程序员修炼之道》[HT00]中对系统不变量的讨论)。
1700490242
1700490243 隐喻参考系的特征能够印到软件系统,真实世界中隐含的、容易理解的属性逐渐转移到软件本身。
1700490244
1700490245 但是,提出一个好的隐喻——能够帮助解决问题而不是产生更多问题——可能是非常困难的。同测试先行、结对编程等广受欢迎的开发方式相比,系统隐喻作为一种实践并未得到广泛应用。
1700490246
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
[ 上一页 ]  [ :1.700490217e+09 ]  [ 下一页 ]