程序员联盟发布了一条消息:以后我们的代码要按行收费。客户们立即就炸了锅,按代码收费?那你程序员不是想怎么写就怎么写,我们让你们做个项目,你写个空行,写点注释什么的,谁来管?

  物竞天择。有人有需求就立即有人响应。正当这些客户无所适从的时候,一个职业产生了:代码缩行师。客户在审查项目交付的时候会先去缩行事务所请一位缩行师。缩行师的职责就是,在保证不改变原有系统功能的前提下,将程序最大程度的缩减行数,缩行师按照缩减行数的百分之 10 收费。

缩行师是程序员最大的天敌。

  缩行师也是分等级的,最低级的缩行师只能缩缩空行,挪一挪括号,一般人都能做,大抵是被程序员看不起的,往上一级就要稍微懂一点编程知识了,知道怎么把定义的变量合到一行,怎么去掉可以去掉的括号,他们已经一脚踏入了领域和空间的境界了,他们许多是程序员做不下去为了生计讨口饭吃,倘若搞好客户关系,也能活的很滋润。

  再往上一级,这些人是缩行师界的精英,而且随时可以成为最优秀的程序员,他们把无聊的体力工作交给下边的人去做,自己则和程序员斗智斗勇,“你这个变量没必要定义”,“你这两处的功能重复了,回去重构一下”,“你这个是自己造轮子,去找别人开源写好的”。

  他们有的曾经是最好的程序员,有的是因为忍受不了缩行师的百般挑刺,无奈转行,有的是因为满足内心找茬的欲望,有的是从事多年的缩行师,从学徒起一步一步坐起,扎扎实实的走到现在的地位,这个级别的缩行师是各大缩行事务所争抢的对象。

  每个客户都以邀请到他们为荣,预约的人多了,事务所开始准备“缩号”,客户只有摇到了缩号才能有幸邀请到这些人,有的客户更是为专家缩号大打出手,于是又催生了一种叫“缩牛”的职业,不再赘述。

  他们某种程度上已经达到了缩行师的顶峰,但还有一种传说中的存在,他们是打破规则的存在,如果你侥幸看到他们的杰作,你就会发现上面提到的都是浮云。一行,只需要一行就够了,什么工程,什么项目,只需要一行。jQuery.min.js 就是他们的杰作。

  有一个站在巅峰的男人曾经应拉里·佩奇的邀请将谷歌的所有代码写成了一行,并且能完整的实现了谷歌现有的所有功能,人们甚至发现谷歌搜索快了将近 30%。后来有华尔街和硅谷的资深从业者看到这行代码后久久不能平静,对这行代码给出了 5600 亿美元的估值,当然这行代码一般人是看不完的,据说这行代码的长度可以从加州连接到 M31 星系。

  程序员的生活变得越来越艰难,程序员联盟本身的福祉:变成了灾难,尽管随着代码的行数减少,单行的价格在不断的升高,程序员行业的整体质量也在不断的提高,但依旧艰难。程序员联盟又做了一个艰难的决定:最终的代码每行不得多于 200 字符。对于一般的程序,一行 200 字符足够了,即使一行内容长,也可以分行解决。

  在程序员联盟认为一劳永逸的同时,缩行师的行业发生了惊天动地的变化,对于底层的没有太大变化,但对于习惯把程序挤到一行的从业者来说无异于晴天霹雳。当原来的方法不适用的时候他们又何去何从?

  在进行了多次缩行师技术交流峰会之后他们找到了一个对策,那就是将计就计,把每行的代码都调整到 200 字符,在规则的范围内达到最大的收益。于是缩行师行会陆续制订了缩行师的规范,守则。

  越来越多的人开始分享他们把代码调整成 200 字符的技巧,有的缩行师贴出代码提问“怎么把这段代码缩成标准的格式?”,就会有很多热心的缩行师为其解答,也会有不少伪装成缩行师的程序员冷嘲热讽甚至谩骂。

  随着缩行技术的发展和普及,程序员和客户由一开始看到凹凸不平的代码,变成一个个整齐的长方形的代码的一脸懵逼,到渐渐习惯再到麻木。很多年过去以后,新的程序员甚至以为长方型的代码就应该是代码本来的样子。

  程序员的世界也发生了很大的变化,越来越多的客户为了节省一笔缩行师的费用,开始要求程序员去写每行 200 个字符的长方形代码,程序员经过了这么多年的耳濡目染也渐渐的接受了,这第一批写方块代码的程序员渐渐引领了代码的潮流《编程方块》《代码方块之道》《方块之美》《重构 - 方块化改善既有代码》。这些书开始变得越来越畅销。

  缩行师除了偶尔被叫去做做 code review,需要的越来越少了,整个行业也开始没落。

有人的地方就有江湖,有利益的地方就有冲突。