烂规矩好过没规矩

1.
做项目的时候,有没有遇到过因为开发规范的异议产生的争论甚至争吵呢?我遇到过不少。大多数时候,只是停留在争论这个表象上。过后,只记得我们争论过,但是结果是什么,没人关心没人在意,因为大多数时候,老大会帮我们拿个主意。

为什么一定需要有一个人拿个主意呢?就像我的一位前同事所说,现在的规矩是个烂规矩,为什么要用?大家自由自在的,各用个的,不好吗?

自由自在的,听起来真的不错的。于是你用 react 我用 vue,你写 nodejs 我写 go,各取所需各得所愿,锣鼓喧天,鞭炮齐鸣。

于是,哪天你阅读别人代码的时候,傻眼了?这 tm 是什么鬼东西啊?

甚至,哪天你想要和别人集成的时候,你这 tm 是什么接口啊?嘻哈吗?别侮辱嘻哈好吗?

这个时候,你会无比希望有个哪怕屎一样的规矩,能约束约束大家蠢蠢欲动的创造力。

2.
这两天使用india那边开发的 user service。我拿过 api 文档一看傻了。对了,有文档是个好习惯,好过没有对吧。

让我傻眼的是这不伦不类还号称自己 restful 的 api。怎么不伦不类呢?
如果我想查用户信息,我调用

GET /users/userId

没毛病吧。

如果我想查用户 profile,我调用

GET /users/profile/userId

你大爷的。

如果我想知道用户邮件呢?

GET /users/profile/email/userId

好吧,你的路数是这样的。

那如果我想更新用户邮件呢?

POST /users/profile/userId
body { email: "[email protected]"}

好吧,我服了。

我后来和对方开发和测试沟通,他们很耐心很诚恳的解释了整个 api 的设计/流程,手把手教我怎么注册/登录/更新/注销,我很感谢他们。但我深深地怀疑,如果再过一两天,我会不会把这风格特别的流程和流程所依赖的 api 都给忘干净了。

好吧,写这篇文章的时候,我已经都忘得差不多了。

3.
有些聪明的人总会觉得条条框框方方面面限制了自己的发挥创造力,兴许一不小心我就改变世界了呢。可现实是可能连一个有质量的项目都搞不出来。做项目不是一个人单打独斗逞英雄,当然,我想肯定有大神能一个人撸出一个react like 不需要任何人的帮助。但是,更多的情况是你我他,身边的同事们,都是凡人。而我们的目标,兴许就是星辰大海呢?团队协作,扬长避短,这是我们到达彼岸的唯一方式。

这么多人,一人一个声音,没点规矩怎么行?

连大草原上的野兽们都知道,团伙行动,规矩很重要,谁埋伏,谁恐吓,谁堵截,谁主攻,谁协助,开干前都要弄个清清楚楚。同样的,一个项目刚开始,不算需求(猎物是谁),规矩应该排第一位。用什么框架,代码风格,测试办法,能今天定下来的,千万不要拖到明天。你写的代码我能看懂,你做的 api 我能轻松理解,这样真的很棒啊。

4.
恶果。
前几天,抱歉又是 india,我往 message queue 发消息他订阅消息,竟然收不到。我真是醉了,明明 queue 已经收到了你的程序收不到关我鸟事啊?好吧,又被拉去开会,balabala 半天,原来是他们订阅的名字写错了。你自己发邮件告诉我名字还写了个 wiki记录,结果最后自己写错了?

结束完会议我就建了个 wiki 说这里以后存放所有的 message topic,大小写敏感都别搞错了,顺便 @ 某人。

为了这事折腾了一天半,会上对方各种甩锅幸亏我身经百战经验丰富,成功的逼迫对方承认错误。心好累。做程序员不但要写的好代码,还要斗得过贱人,甩的了黑锅啊。

5.
本来想总结一下,也不知道该说啥。

不以规矩不能成方圆

你可能感兴趣的:(项目管理,开发规范)