[导入]守,破,离

    守破离(Shu Ha Ri)是日本剑道(Kendo)的哲学。http://c2.com/cgi/wiki?ShuHaRi  (日本人很善于推销自己传统的思想,而中国的传统却似乎在盲目自卑和盲目自大两个极端之间徘徊)
    守是模仿(Imitate),遵循,是无我的过程。在日本的传统心性中,守的阶段需要完全开放心志,全盘接受导师的教导。此时应该学习唯一的真理,知道唯 一正确的方法,分清对与错。通过长期不辍的练习,将对规则的记忆固化在自己的身体中。初学者看似是自由的,但也是不明智的(unwisely),我们总是 倾向于采用错误的方式。
    beginners are very hard to fight... they don't do anything you expect them to do. They move freely, and randomly. Only by returning to very fundamental principles, can one uncover the faults (unwisdom) in their actions and defeat them. 简言之,就是没有结构。

    破是变(diverge),是自我意识逐渐增强,心智逐渐收缩的过程。Just 'winning' is not enough, you must win well. 这个阶段我们需要区分出好与坏而不仅仅是两分的对与错。
    离是返朴归真, 是忘我的过程。最终我们得到行为和思想上的自由(freedom)。离看似是随机的,但实际上是混沌的(chaos)。
    It's being good irrespective of whether you are right or wrong.看似打破常规,举手投足却都遵循着道(Tao),这是持续而自由的创造。
    传统上守破离这三个递进的阶段是在导师监护下完成的,导师决定你是否进入下一阶段。而在没有导师的情况下,我们需要增加一个步骤:检验(Test),即我 们需要缩短每个阶段的时间,对我们的修行成果进行检验,通过迭代循环来自我实现阶段跨越。(http://www.aikidofaq.com/essays/tin/shuhari.html 提到Test, 大概是这篇文章在agile社区流传的原因之一吧,呵呵)。
     我们无法跨越守的阶段。敏捷编程绝不意味着没有design pattern。没有良好的基本功,一切都是空谈。

   破,首先是破除权威。小的时候我们喜欢引用大师,喜欢谈论他们的轶事,现在也是引用,但却经常略带狡黠的歪曲他们的原意。大学以后应该少去阅读大部头的 书,读薄的书,并把书读薄。真正的思想并不是很多,当大量的细节都成为背景知识以后,我们需要进行思考的内容并不是很多。避免重复书中的原话,因为那是别 人的思想。广为涉猎,多做比较。换个角度看一看,或通过类比,尽力建立事物之间的关联,同中求异,异中求同。我以物理学的观点来看待软件,这是我采取的破 的方式。

你可能感兴趣的:(编程,cgi)