如何与代码风格很差(个人觉得)的同事共事?

2021-06-11 11:10:12 +08:00
 MoriartyCy

最近跟公司里的一位老同事一起开发,同事工作了很多年了,在公司也是待人随和,很多人很喜欢他,并且他还经常主动担较多的工作量。前几天跟他一起做一个新项目,本来以为会是一个愉快的过程,结果上来看到代码就傻眼了:

  1. 不写任何注释;
  2. 不写常量,不写枚举,全都是魔鬼数字魔鬼字符;
  3. if 套娃;
  4. 方法套方法,一行代码三四个方法套娃,能占两个屏幕,300 多个字符;
  5. 喜欢不同接口很多逻辑都写一个方法里面(一个接口只提供一个对外的方法,这个方法常常能有十几个参数),再通过 if 区分不同逻辑,其名曰:工厂模式;

可能我有些强迫症,code review 的时候看他的代码极其痛苦。跟这位同事也提过两次,他就笑着说改一改改一改,到最后也没改。

所以说你们在工作中遇到这种代码风格很差的同事一般如何相处呢?

4971 次点击
所在节点    职场话题
42 条回复
3dwelcome
2021-06-11 15:10:03 +08:00
@ZhaoHuiLiu "公司给你一个啥都不会的人,你要是赶他走就成了光棍司令,教他东西嘛又教不会,怎么办呢?"

还是光棍司令好,你为了向下兼容,势必会降低自己代码水准,来适配同事水平。

时间一长,最后你会发现自己也变菜了。
dfkjgklfdjg
2021-06-11 15:27:51 +08:00
Code Review 不是一起看?你自己审查代码来处理合并的话,打回去让他重改,打回去两次他就知道了,首先就是要有一个标准,如果只是按照你的喜好肯定不合适,取一个公司的标准就好了,然后大家就按照这个标准来。

if 套娃这个没办法,毕竟每个人都有自己的 coding 习惯。
ZhaoHuiLiu
2021-06-11 16:33:37 +08:00
@3dwelcome 哥们,你可能工作没多久,觉得在公司只要写代码,就天下太平了什么事都没有。不会有人找你帮忙,不会有人要你和客户沟通,不会有任何人打扰你造飞机造火箭。哥们适合当敢死队一员,为后方部队开辟道路。可惜小弟怕死,想有个肉盾挡子弹,哪怕是个人傻子也行,只要子弹打不打我,我就万事无忧。
justforlook44444
2021-06-11 16:37:28 +08:00
他的代码差跟你有什么关系呢,个人负责自己的代码;
如果是需要协作,制作一个 coding style 规范,可参考 huawei,谷歌的。
Navee
2021-06-11 16:45:06 +08:00
入参出参控制好,细节你管不了的,林子大了什么鸟都有,除非你说了算
3dwelcome
2021-06-11 16:52:19 +08:00
@ZhaoHuiLiu 问题是同事烂代码以后出问题了,还是你这个项目负责人的锅啊。

两个人水平差很多,你带一下他可以,共事就只能自找麻烦。
windyCity1
2021-06-11 17:07:33 +08:00
我可能就是同事眼中“代码风格很差”。。。。

入职以来一直在改变自己的编码习惯。。。。。
windyCity1
2021-06-11 17:08:18 +08:00
@windyCity1 #27 每次 code Review 后都要花一些时间改自己一些代码。。。。。
ZhaoHuiLiu
2021-06-11 17:19:49 +08:00
@3dwelcome 你要这样想就没办法,本来别人就是骡子专门背锅的,你驴子吃草好好的,非要主动当骡子使,一起背锅又何必。工作只是为了赚钱,出问题了肯定会开会找问题,问题出在谁身上,那就找谁就是了。编程这玩意就是要有足够的应付力,免疫一切毒害和迫害,不要因为一只毒蛤蟆挡了路,就绕道而行走远路。多去看看开拓思维书籍吧,写程序和写书又有何区别
3dwelcome
2021-06-11 17:26:40 +08:00
@ZhaoHuiLiu 说到底,我还是没办法接受,糟糕的代码进来污染我的项目库。

因为代码我是需要长期维护的,don't touch my code,这是原则问题。

当然如果同事写的模块有足够的边界,相互调调 API,那也没什么。可是你改我代码,我改你代码,绝对不能忍。
ZhaoHuiLiu
2021-06-11 17:31:39 +08:00
@3dwelcome 你要是真牛 b,承包这个项目不就行了,要求公司给你多少钱个月。我能一个人完成就一个人完成,不能完成部分外包出去让别人实现,别人完成了自己重构成符合自己项目风格的代码。这样妥妥的当个包工头不好吗?我就怕你大事干不了,小事又爱插手,倒头来钱少事多,活受罪。。。
openmm
2021-06-11 17:37:31 +08:00
代码风格显而易见的差 这么多人还建议不要去提 美曰其名处世之道 等你自己和这种人合作你就知道多痛苦了 提出来也是为他好 好的代码利己利他 真就说了几次也不听 那没办法了 只能受着了
ZhaoHuiLiu
2021-06-11 17:43:12 +08:00
@openmm 你最好不要去管别人代码风格,毫无意义,只要别人代码能跑那就行,自己干好自己的,维护这东西本身毫无价值,代码好坏看重构次数,说白了就是不断提炼才能出精华。多学学处世之道,和百毒不侵之术,应付一切问题,尽量用嘴不用手,不要三言两语不合就动手很蠢的。
liuidetmks
2021-06-11 17:44:38 +08:00
@buffzty 望文生义 好像不是这么用的哈哈,具体该用什么成语,我也不知道
3dwelcome
2021-06-11 17:46:05 +08:00
@ZhaoHuiLiu 这和牛不牛 B 没关系,项目会随着时间推移越来越复杂,代码变多后,我需要的是对代码的掌控力。

不想因为查一个 BUG 而加班,在糟糕的代码里翻大半天,绝对是一件很痛苦的事。

所以我就希望切断污染的源头。和同事合作开发可以,各管各的模块,别动我的代码。
openmm
2021-06-11 17:51:29 +08:00
@ZhaoHuiLiu 到时候系统出问题 由你自己去改、去调试那部分代码的时候看你还扯处世之道
ZhaoHuiLiu
2021-06-11 18:02:22 +08:00
@openmm 无论前端还是后端都有负责人,你又不是负责人,如果是负责人的话,又不要整天写代码,只要改代码和审核代码就行。就算是工厂流水线,每条流水线都有一两个小组长,小组长拿流水线工人多一点的工资不用工作,谁要上厕所了就顶一下,基本流水线上什么活都会干。我最讨厌的人就是大事干不了,小事爱插手的人。
KouShuiYu
2021-06-11 18:11:36 +08:00
添加强制检查代码风格的钩子,不合格不许 commit
miloooz
2021-06-12 11:50:19 +08:00
代码写出来是需要后人维护的,还是希望同事能够改过来,这也是对同事的提升不是。还是看团队氛围、同事性格,如果我看这个人顺眼,我会和他一起推进规范化,标准化,如果是看的不爽的,应该还是会和楼上的老哥们说的一样避不做声。等遇到老哥们说的钉之后,再如老哥们说的做也行。
zgl263885
2021-06-14 12:10:00 +08:00
从 python 之禅里面的一句话来评判的话,你这个同事要么是菜,要么是坏:
代码可读性很重要。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/782847

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX