• 形式重要吗?



    形式重要吗?
    

    今天看到一篇关于20行代码的文章,说到JS圈子里有一项赛事,就是在20行代码中写出尽可能 丰富的效果来。当然,类似的事情在种种语言中都有,不惟JS。 于是一时兴起,打算把Qomo写出个20行的版本来。是啊,如果Qomo可以写成20行,将是何等快 意啊?于是就动手写了写。写之前,看了别个的一些20行,大意是声明语句可记为一行,连续 表达式可以记为一行,又则,函数声明按内部的行数来记行…… 于是动手写吧。写了三数行,便觉得不对了。仅为了增减行数,再复杂的功能在JS里也写得成一 行(当然这有点夸张)。例如说Qomo的Class()函数原本是有27行的, 去掉空行和注释剩下10 行。如果把语句后的分号换作逗号,就变成了连续表达式运算,则其中的8句可算作一句。最后 就剩下了一个var变量声明,和一个return返回子句(将所有的表达式运算连在return之后,它 就只返回最后一个表达式值了)。 现在剩下两行,一个是用来声明变量的,一个是用来返回值的。若讲点技巧,再把变量声明换 成函数的形式参数就好了——尽管这实际上并不是好习惯。现在就只剩一行了。而这一行在JS 里面,也可以变成“声明即使用”函数,也可以是一个表达式的运算元,所以它放在更大范围 里面去,也就一行也不是了。我们最终写出来的代码形式上就是这样(这仍只能算成运算元,1 行语句都算不上): ==================== x + (function(X,Y,Z){ return A,B,C,D,E }()) + y ==================== 出了什么问题? 20行真的重要么?对于一个玩弄技巧的人来说,20行和1行,以及和0行都没什么区别。真正写 到一定程度,代码的行数就成了玩物,就成了虚无。我们写代码不是给计数的机器用的,我们 是写给别人看的。我们的目的是要别人理解这份代码,以便让代码生存下去,活下去,活在除 开我们自己的另一个群体中去。仅有如此,“写代码”才有意义。 没有几个人是高手,也没有几个人是玩技巧的票友。真正的高人要从自得中走出来,变成它得, 变成别人看得见的得。仅仅是玩玩自娱自乐的技术技巧,便是死物一个。 有个有趣的、出自禅学的问题:双手相叩出音声,只手音声如何闻?这个问题放在禅学环境里, 是有解的。音声自得,你自己听得便是听得了。换句话说,你自娱自乐的境界里,还是听得到 这“只手音声”的。 但上面这个禅学的问题还有下半段:你若闻得只手声,如何令我也闻?我读到这后半个问题时, 心下凌然、危然、大惧。因为这个问题是何等普遍啊:高手们自娱自乐,自曲自歌。他们听得 见每一个非出自自然的、器械的音符,仿佛他们具有神性一般。 然而,不过是死物一个。如何让别人听得呢? 代码写到上面那种地步,无怪乎LISP几十年来也成不了主流,无怪乎Erlang令人望而生畏(尽 管它已经比LISP好了许许多多)。形式对于一个高手来说确实不重要,但高手若不能“让人听 得”,那仍不过是死物。化而用之,从无形而有形,形质俱现,才能还本来面目。 本来面目,还是有面目的。
  • 相关阅读:
    python 回溯法 记录
    java提高篇(二三)-----HashMap
    java提高篇(二二)---LinkedList
    java提高篇(二一)-----ArrayList
    java提高篇(二十)-----集合大家族
    java提高篇(十九)-----数组之二
    java提高篇(十八)-----数组之一:认识JAVA数组
    java提高篇(十七)-----异常(二)
    java提高篇(十六)-----异常(一)
    jQuery读取和设定KindEditor的值
  • 原文地址:https://www.cnblogs.com/encounter/p/2188609.html
Copyright © 2020-2023  润新知