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

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

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

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

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

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

4702 次点击
所在节点    职场话题
42 条回复
x86
2021-06-11 11:12:46 +08:00
一看就是新手,老手一看就走了
jjwjiang
2021-06-11 11:15:07 +08:00
不出 bug,性能没问题就不管

提前沟通好,需要修改他的部分只能由他自己改,让我改因为我看的费劲还容易改错
Asuka0947
2021-06-11 11:17:07 +08:00
他还经常主动担较多的工作量,这样的同事我也想有;如果说他的代码风格严重影响了你的工作效率,那就和他说说呗,不行就只能写一行问一行,他不嫌烦就好,不是很影响你的话我觉得可以不管,毕竟他的工资不是你发,你的工资不是他发,反正我是秉承能跑就行的原则,代码差有时候是一个甩锅的好借口。
kop1989
2021-06-11 11:17:37 +08:00
其实很简单,问自己一个问题:“你俩有利益冲突么?”
如果没有,与你何干?
如果有的话,趁早解决。
jay4497
2021-06-11 11:25:41 +08:00
打不过就加入 doge;
plainboiledwater
2021-06-11 11:32:46 +08:00
和他约定好模块的接口,输入输出定清楚,然后如果有性能要求的话,定好 benchmark,剩下里面的实现就是他的黑盒,只要逻辑 OK 以及性能 OK,怎么实现都行。
就像和你合租的人只要公共空间保持整洁,他卧室满地猫毛全是灰衣服搭在空调上也不影响你对不对?
Rwing
2021-06-11 11:34:29 +08:00
Sonar 走起啊,不符合规范不让 merge
joyhub2140
2021-06-11 11:55:12 +08:00
我的建议是不管。。。

那些代码你就别管了,摆正心态,就当在一坨屎上面加上自己拉的,反而我建议你学一下那家伙的处事之道。。。

以后等自己做主程的时候再讲究吧。
rioshikelong121
2021-06-11 11:57:58 +08:00
向老同事学习
YadongZhang
2021-06-11 12:03:45 +08:00
我们组就我代码风格差,而且动不动改动就超过 10 个文件
renmu123
2021-06-11 12:06:46 +08:00
他差归他差,不要动他的代码就就可以了
futou
2021-06-11 12:10:25 +08:00
如果公司有统一风格,那么锅在你同事身上。如果公司没统一,那和你同事没任何关系。

ps. 一直认为代码有优劣,但是代码风格没有优劣。毕竟代码本质是给机器看的,而不是给人看的。只不过由于多人协作,不可避免的有他人参与,就出现了对风格优劣的评价。
qiaobeier
2021-06-11 12:50:25 +08:00
用些风格检查工具呗
addenvex
2021-06-11 12:52:55 +08:00
我也遇到过、我能改的、直接帮她改掉、不能改的、也没办法
ZhaoHuiLiu
2021-06-11 13:05:34 +08:00
你这还算好的了,如果你负责一个研发项目。你说需要人手,公司给你一个啥都不会的人,你要是赶他走就成了光棍司令,教他东西嘛又教不会,怎么办呢?本人中专学历,公司除了给的工资可观,就没任何优势。既然自己强,为何不多些包容,你要调用他的代码,你根据自己习惯封装一层不就好了。不要逃避也不要当光棍司令,好好工作。
buffzty
2021-06-11 13:13:00 +08:00
不写注释不算代码风格差吧 方法名 变量名就是注释 能望文生义的代码再写注释就是冗余
BingoXuan
2021-06-11 13:16:42 +08:00
我也想一个 API 一个功能,奈何甲方就喜欢一个 API 干 n 多事
tongqe
2021-06-11 13:35:26 +08:00
有啥问题,你刚毕业?
nbin2008
2021-06-11 14:56:42 +08:00
改掉自己的强迫症
simonlu9
2021-06-11 15:02:40 +08:00
之前待过公司是先产品评审,评审的时候开发也吧每个接口的伪代码写上去,大家看合不合理 ,这样之后开发也就是安卓这份标准来开发,前期可能浪费挺多时间,但是可以避免你上面说的那种情况

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

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

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

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

© 2021 V2EX