我是如何编写出《阿里巴巴Java编程规范》的

我叫孤尽,是一名阿里程序员。

如果说,我身上有一点点和普通程序员不一样,也许是更轴一点。比如我觉得JAVA是世界上最好的语言,没有之一。

最近,我又干了一件比较轴的事情。

我因为这件事曾被大家群嘲。有人还好奇地发帖:孤尽是谁?怎么胆子这么大,敢给整个阿里集团写技术规范?

图0:我是如何编写出《阿里巴巴Java编程规范》的

插画师:赫柏

一个疯狂的主意

事儿得从两年前说起,有一次,我去参加一个跨部门的会议,开着开着,忽然掐起来了。

起因是两个团队使用的代码规范不一样,但都想让别人采用自己的。最后谁都说服不了谁,一个哥们气得嗷嗷叫,还有个哥们,恨不得要跳上桌子现场表演胸口碎大石。

长期以来,咱们程序猿虽然都靠武功行走江湖,但又各立山头。

大家的代码规范都不一样。我学降龙十八掌,你学蛤蟆功,还有人打还我漂漂拳,不按照一个“套路”出牌。单兵作战还好,遇到团体作战的时候,难免会因为要统一“出拳”的步调,牺牲掉一些效率。

想到这,一个大胆的念头冒了出来:为啥不做一个统一的规范出来呢,让大家达成共识呢!

这个疯狂的想法,我越想越激动,马上告诉了身边的小伙伴。

大家跟我想得一样,这个主意不但很疯狂,还很不靠谱。代码规范都是程序员们多年编码生的茧,岂能说改就改!

有人问我,谁给你的勇气,梁静茹全家吗?还有人说,规范又不是你的KPI!好好搬你的砖(黑话,指写代码)。

图1:我是如何编写出《阿里巴巴Java编程规范》的

摄影师:俱往

搬砖的故事

别说,我还真搬过砖!

初二的时候,我不好好上课,天天在学校打架,后来我爹把我揪回了家,一顿胖揍之后,让我去家里附近的窑厂搬砖。

搬了大半年,有个亲戚来家里做客,看了我一眼,说,这个娃脑瓜子好使,但当不了房梁,只能当房椽,不堪大用。

那句话激怒我了,后来,我就去找我爹,我要回学校。我爹平静的告诉我,晚了,认命吧。

我就不认,我打死都不认。

回了学校,别人一题做一遍,我做三遍。寝室都睡了,我打着手电筒还在看书,就这样,从年级倒数第一,到了期末,我爬到了年级倒数一百。

在我们的人生中,一定会有一个人告诉你,这事太难了,别干了。

这个时候,一定要对自己说一句话:对于别人来说,也许是很难,但我不是别人啊。

图2:我是如何编写出《阿里巴巴Java编程规范》的

摄影师:启一

失败99次之后

2016年3月,我在阿里ATA(技术同学华山论剑处)上发表了第一版《阿里巴巴集团JAVA技术规范》。

觉得好的人有之,觉得不好的也很多。还有人觉得我胆子太大了,去知乎发帖,问孤尽是谁,怎么敢给整个阿里集团写技术规范?

每次被群嘲,晚饭我就让食堂阿姨多给我打两个鸡腿,安慰一下自己。有批评,证明有关注,有关注,就有希望。

那个时候,一个部门一个部门的去游说,失败了一次,就试第二次。失败了99次,那也还要再试一次,没别的,凑个整数呗。

也许是精诚所至,也许是走了狗屎运,阿里技术大牛多隆给我的规范做了推荐,被一个技术大牛看到,还引发了业内的讨论。

阿里在Java后端领域支撑起全球访问量最大的服务器集群; Java代码构建的阿里双11系统订单处理能力达到17.5万笔/秒。如果能在这个基础上运营一套加强团队分工与合作、真正提升效率的规则,不就能撒豆成兵吗?

阿里巴巴CTO行癫说过一句话:“消防局最主要的工作不是灭火,而是为了不发生火灾建立很多规范。”

在这段时间,JAVA规范前后改了很多版,从我一个人,到越来越多的程序员加入。我们相信,当规范改到第七版,我们就能召唤神龙。

其实,我们每一个行动,都需要消耗勇气。开始前的犹豫,行动中的波折,被质疑时的动摇……记住,千万别去管天多高地多厚,反正管了你就赢不了。

图3:我是如何编写出《阿里巴巴Java编程规范》的

第83行代码

今年年初,代码规范终于实现了。

现在阿里所有的BU都开始使用这个JAVA规范,所有人都开始奔着一个方向奔跑了。

今年,我和小伙伴又开始鼓励大家把写得好的晒代码晒出来,甚至被重新review。

这个过程,不是找茬,而是让大家看看好在哪里,不好在哪里,做得好的学习,不好的避免再次掉坑里。

连马老师都来回贴了,“感谢大家的智慧和努力,更感谢大家的分享和敬业精神。我可以骄傲的说,我可以一辈子不用懂代码,因为我有你们!!!”

现在这个晒代码的帖子,已经有5万多人围观,400多位技术极客们秀代码、亮肌肉。

通过算法,定期抓捕漂亮代码进行全员review,我们正在推动它成为现实。小伙伴们还给这个项目起了一个性感的名字——第83行代码

当然,最让我激动的,是食堂大妈终于记住我的花名了,有天我去打饭,她跟我说,还给我留了两个大鸡腿。

图4:我是如何编写出《阿里巴巴Java编程规范》的

阿里程序员们在做代码review

从阿里P5到P8

八年前,我笔试阿里失败,一气之下,我抱着自己的简历和一堆获奖证书跑到浙大准备安排面试的HR,准备霸王面。

我还记得当时说了一句:你们错过了我,就错过了一个时代。特别感激那个笑得好看的HR大哥,并没有因为我不知天高地厚而生气,相反,他破例给了我一次面试的机会。

在阿里的八年,从P5到P8,经历过很多挫折,也经历过晋升失败,虽然到现在,我还是没能改变一个时代,但我很开心,我给世界带来了一点点改变。

图5:我是如何编写出《阿里巴巴Java编程规范》的

这是我的照片,怕掉粉现在才上

小时候,我们总被教育,别不知道天高地厚,要有自知之明。自知之明的潜台词,大概是遇到困难,记得认怂。

但有的时候,请保留一些“不管天高地厚”吧。

敢不切实际地妄想,才敢不顾一切地努力啊。

本文出自云溪社区.

你也许感兴趣的:

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注