`

从“推敲”这个故事看代码的编写艺术

阅读更多

 

“推敲”这个词包含了一个非常著名的典故,故事引用如下:

 

 

 

唐朝的贾岛是著名的苦吟派诗人。苦吟派就是为了一句诗或是诗中的一个词,不惜耗费心血,花费工夫。贾岛曾用几年时间做了一首诗。诗成之后,他热泪横流,不仅仅是高兴,也是心疼自己。当然他并不是每做一首都这么费劲儿,如果那样,他就成不了诗人了。
有一次,贾岛骑驴闯了官道。他正琢磨着一句诗,名叫《题李凝幽居》全诗如下:
闲居少邻并,
草径入荒园
鸟宿池边树,
僧敲(推)月下门。
过桥分野色,
移石动云根
暂去还来此,
幽期不负言。
但他有一处拿不定主意,那就是觉得第二句中的“鸟宿池边树,僧推月下门”的“推”应换成“敲”。可他又觉着“敲”也有点不太合适,不如“推”好。不知是“敲”还是“推”好。嘴里就边推敲边念叨着。不知不觉地,就骑着毛驴闯进了大官韩愈(唐宋八大家之一)的仪仗队里。
韩愈问贾岛为什么闯进自己的仪仗队。贾岛就把自己做的那首诗念给韩愈听,但是其中一句拿不定主意是用“推”好,还是用“"敲”好的事说了一遍。韩愈听了,对贾岛说:“我看还是用‘敲’好,即使是在夜深人静,拜访友人,还敲门代表你是一个有礼貌的人!而且一个‘敲’字,使夜静更深之时,多了几分声响。再说,读起来也响亮些”贾岛听了连连点头称赞。他这回不但没受处罚,还和韩愈交上了朋友。
推敲从此也就成为了脍炙人口的常用词,用来比喻做文章或做事时,反复琢磨,反复斟酌。

 

 

 

我早些年也赞成韩愈的说法,“敲”字不但有动作,还有声音,包含了比“推”字更多的内容,“响亮”也更是一个特点;但是有一天想到这个故事,忽然想,上句“鸟宿池边树”本身,以及全诗,都体现了一种幽静、要休息了的场景和情绪,突然一下子“响亮”的声音,是不是非常不协调?

 

且不管诗的题目是否是外出访友,在全诗的意境里,敲门和敲门的声音,都是与全诗意境不协调的。

 

 

之前我想到这一点后在思考,有没有人和我想得一样呢?此后到网上看了看,有个非常著名的文艺理论家朱光潜就觉得“推”比“敲”好,看到这个说法,我更有信心了,看来,不管干什么,盲目从众都不对,要求真、求证,要思考。

 

从这个故事我想到的是代码的风格,几个有益的结论就是

   服从整体的风格是必须的,就像单独看“推“和”敲“,自然,”敲“好,但是配在全诗里还是”推“要好一些。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0
2
分享到:
评论
10 楼 windshome 2013-11-08  
感谢回复,接受批评。

的确,这篇文章是在外边培训时,休息的间隙写的,仓促之间,没有记清楚那句古语的原话。


但是我想表述的,是作诗和设计、编程在道理上的想通之处。


至于是进自己家门,还是进别人家门,看诗题目,应该是敲别人家门,但这不是叙事而是作诗,整体诗的意境是幽静,有个响亮的动静破坏了整体的意境。




9 楼 skzr.org 2013-11-08  
aa87963014 写道
引用
  有个非常著名的文艺理论家朱光潜就觉得“敲”比“推”好


你这里应该是想说 推比敲好吧.


进自己家的们当然是推了,进别人家的就敲,很自然——此为自然规律
8 楼 zidafone 2013-11-07  
zidafone 写道
windshome 写道
不是,我是程序员,也有很多人说我是架构师。

我只是喜欢传统文化,喜欢古文、古诗,觉得这些一方面非常美,非常有哲理;即便对做设计和开发,也相当有帮助。

这也就是古人说的,事事通明皆学问。



那个……
你确定古人说了事事通明皆学问?
世事洞明皆学问,人情练达即文章,说的不是“道理都是相同的”这个意思额……


相同->相通,打错字了
7 楼 zidafone 2013-11-07  
windshome 写道
不是,我是程序员,也有很多人说我是架构师。

我只是喜欢传统文化,喜欢古文、古诗,觉得这些一方面非常美,非常有哲理;即便对做设计和开发,也相当有帮助。

这也就是古人说的,事事通明皆学问。



那个……
你确定古人说了事事通明皆学问?
世事洞明皆学问,人情练达即文章,说的不是“道理都是相同的”这个意思额……
6 楼 windshome 2013-11-07  
不是,我是程序员,也有很多人说我是架构师。

我只是喜欢传统文化,喜欢古文、古诗,觉得这些一方面非常美,非常有哲理;即便对做设计和开发,也相当有帮助。

这也就是古人说的,事事通明皆学问。
5 楼 文仁126520 2013-11-07  
哈哈!你是诗人吗??
4 楼 windshome 2013-11-07  
感谢感谢!我好晕。。。
3 楼 aa87963014 2013-11-07  
引用
  有个非常著名的文艺理论家朱光潜就觉得“敲”比“推”好


你这里应该是想说 推比敲好吧.
2 楼 windshome 2013-11-07  
感谢楼上,看到一个错误改正了,眼花了,还没有看到别的错误。(信息--->应该为信心)
1 楼 aa87963014 2013-11-07  
lz 打错了几个关键字

相关推荐

    如何读懂源代码

    这是个逐层深入的过程,从高层次的命名中把握代码块的作用,再逐渐深入到具体实现细节。在这个过程中,良好的代码注释和文档尤为重要,因为它们能提供额外的线索帮助理解代码的上下文。 接下来是掌握程序入口和逐层...

    如何看懂源代码.doc

    【如何看懂源代码】 学习编程的过程中,理解并分析源代码是一项至关重要的技能。无论是查看开源框架、团队项目,还是维护已有系统,都需要我们具备读懂他人编写代码的能力。以下六个章节将提供一些实用的策略,帮助...

    细推敲、巧衔接,一枝一叶总关“技”——Python教学背景下的IT课堂实策.pdf

    本文作者汤玥以浙江省湖州市第四中学教育集团为背景,分享了在Python教学实施中的实用策略,并且通过四个教学小故事展示了如何在课堂上突破教学难点,强调了好的教学设计必须从细枝末节出发去推敲琢磨。 首先,文章...

    程序员编程艺术第一~二十七章集锦与总结

    - **第四章:现场编写类似strstr/strcpy/strpbrk的函数** —— 实现了几个基本字符串操作函数的代码编写。 - **第五章:寻找满足条件的两个或多个数** —— 讨论了寻找数组中满足特定条件的数对或多数组合的方法。 -...

    我国古诗词中炼字炼句的例子.doc

    在编写程序代码时,选择合适的变量名、函数名,可以提高代码的可读性和可维护性;在撰写网络文章时,精确的词汇和精炼的句子能更有效地传达信息,吸引读者注意力。互联网产品设计中,界面提示文字的简洁明了,直接...

    Deep Learning with Python

    Keras是一个用Python编写的开源神经网络库,它运行在TensorFlow、CNTK或Theano之上,易于使用,并支持快速实验。François Chollet 是Keras库的开发者之一,也是本书的作者。 本书的内容可以分为两大部分:深度学习...

Global site tag (gtag.js) - Google Analytics