最近跟公司里的一位老同事一起开发,同事工作了很多年了,在公司也是待人随和,很多人很喜欢他,并且他还经常主动担较多的工作量。前几天跟他一起做一个新项目,本来以为会是一个愉快的过程,结果上来看到代码就傻眼了:
可能我有些强迫症,code review 的时候看他的代码极其痛苦。跟这位同事也提过两次,他就笑着说改一改改一改,到最后也没改。
所以说你们在工作中遇到这种代码风格很差的同事一般如何相处呢?
1
x86 2021-06-11 11:12:46 +08:00
一看就是新手,老手一看就走了
|
2
jjwjiang 2021-06-11 11:15:07 +08:00
不出 bug,性能没问题就不管
提前沟通好,需要修改他的部分只能由他自己改,让我改因为我看的费劲还容易改错 |
3
Asuka0947 2021-06-11 11:17:07 +08:00
他还经常主动担较多的工作量,这样的同事我也想有;如果说他的代码风格严重影响了你的工作效率,那就和他说说呗,不行就只能写一行问一行,他不嫌烦就好,不是很影响你的话我觉得可以不管,毕竟他的工资不是你发,你的工资不是他发,反正我是秉承能跑就行的原则,代码差有时候是一个甩锅的好借口。
|
4
kop1989 2021-06-11 11:17:37 +08:00
其实很简单,问自己一个问题:“你俩有利益冲突么?”
如果没有,与你何干? 如果有的话,趁早解决。 |
5
jay4497 2021-06-11 11:25:41 +08:00
打不过就加入 doge;
|
6
plainboiledwater 2021-06-11 11:32:46 +08:00 1
和他约定好模块的接口,输入输出定清楚,然后如果有性能要求的话,定好 benchmark,剩下里面的实现就是他的黑盒,只要逻辑 OK 以及性能 OK,怎么实现都行。
就像和你合租的人只要公共空间保持整洁,他卧室满地猫毛全是灰衣服搭在空调上也不影响你对不对? |
7
Rwing 2021-06-11 11:34:29 +08:00
Sonar 走起啊,不符合规范不让 merge
|
8
joyhub2140 2021-06-11 11:55:12 +08:00
我的建议是不管。。。
那些代码你就别管了,摆正心态,就当在一坨屎上面加上自己拉的,反而我建议你学一下那家伙的处事之道。。。 以后等自己做主程的时候再讲究吧。 |
9
rioshikelong121 2021-06-11 11:57:58 +08:00
向老同事学习
|
10
YadongZhang 2021-06-11 12:03:45 +08:00 via Android
我们组就我代码风格差,而且动不动改动就超过 10 个文件
|
11
renmu123 2021-06-11 12:06:46 +08:00 via Android
他差归他差,不要动他的代码就就可以了
|
12
futou 2021-06-11 12:10:25 +08:00 3
如果公司有统一风格,那么锅在你同事身上。如果公司没统一,那和你同事没任何关系。
ps. 一直认为代码有优劣,但是代码风格没有优劣。毕竟代码本质是给机器看的,而不是给人看的。只不过由于多人协作,不可避免的有他人参与,就出现了对风格优劣的评价。 |
13
qiaobeier 2021-06-11 12:50:25 +08:00
用些风格检查工具呗
|
14
addenvex 2021-06-11 12:52:55 +08:00
我也遇到过、我能改的、直接帮她改掉、不能改的、也没办法
|
15
ZhaoHuiLiu 2021-06-11 13:05:34 +08:00 via Android
你这还算好的了,如果你负责一个研发项目。你说需要人手,公司给你一个啥都不会的人,你要是赶他走就成了光棍司令,教他东西嘛又教不会,怎么办呢?本人中专学历,公司除了给的工资可观,就没任何优势。既然自己强,为何不多些包容,你要调用他的代码,你根据自己习惯封装一层不就好了。不要逃避也不要当光棍司令,好好工作。
|
16
buffzty 2021-06-11 13:13:00 +08:00
不写注释不算代码风格差吧 方法名 变量名就是注释 能望文生义的代码再写注释就是冗余
|
17
BingoXuan 2021-06-11 13:16:42 +08:00 via Android
我也想一个 API 一个功能,奈何甲方就喜欢一个 API 干 n 多事
|
18
tongqe 2021-06-11 13:35:26 +08:00 via Android
有啥问题,你刚毕业?
|
19
nbin2008 2021-06-11 14:56:42 +08:00
改掉自己的强迫症
|
20
simonlu9 2021-06-11 15:02:40 +08:00
之前待过公司是先产品评审,评审的时候开发也吧每个接口的伪代码写上去,大家看合不合理 ,这样之后开发也就是安卓这份标准来开发,前期可能浪费挺多时间,但是可以避免你上面说的那种情况
|
21
3dwelcome 2021-06-11 15:10:03 +08:00 1
@ZhaoHuiLiu "公司给你一个啥都不会的人,你要是赶他走就成了光棍司令,教他东西嘛又教不会,怎么办呢?"
还是光棍司令好,你为了向下兼容,势必会降低自己代码水准,来适配同事水平。 时间一长,最后你会发现自己也变菜了。 |
22
dfkjgklfdjg 2021-06-11 15:27:51 +08:00
Code Review 不是一起看?你自己审查代码来处理合并的话,打回去让他重改,打回去两次他就知道了,首先就是要有一个标准,如果只是按照你的喜好肯定不合适,取一个公司的标准就好了,然后大家就按照这个标准来。
if 套娃这个没办法,毕竟每个人都有自己的 coding 习惯。 |
23
ZhaoHuiLiu 2021-06-11 16:33:37 +08:00 via Android
@3dwelcome 哥们,你可能工作没多久,觉得在公司只要写代码,就天下太平了什么事都没有。不会有人找你帮忙,不会有人要你和客户沟通,不会有任何人打扰你造飞机造火箭。哥们适合当敢死队一员,为后方部队开辟道路。可惜小弟怕死,想有个肉盾挡子弹,哪怕是个人傻子也行,只要子弹打不打我,我就万事无忧。
|
24
justforlook44444 2021-06-11 16:37:28 +08:00
他的代码差跟你有什么关系呢,个人负责自己的代码;
如果是需要协作,制作一个 coding style 规范,可参考 huawei,谷歌的。 |
25
Navee 2021-06-11 16:45:06 +08:00
入参出参控制好,细节你管不了的,林子大了什么鸟都有,除非你说了算
|
26
3dwelcome 2021-06-11 16:52:19 +08:00
|
27
windyCity1 2021-06-11 17:07:33 +08:00
我可能就是同事眼中“代码风格很差”。。。。
入职以来一直在改变自己的编码习惯。。。。。 |
28
windyCity1 2021-06-11 17:08:18 +08:00
@windyCity1 #27 每次 code Review 后都要花一些时间改自己一些代码。。。。。
|
29
ZhaoHuiLiu 2021-06-11 17:19:49 +08:00 via Android
@3dwelcome 你要这样想就没办法,本来别人就是骡子专门背锅的,你驴子吃草好好的,非要主动当骡子使,一起背锅又何必。工作只是为了赚钱,出问题了肯定会开会找问题,问题出在谁身上,那就找谁就是了。编程这玩意就是要有足够的应付力,免疫一切毒害和迫害,不要因为一只毒蛤蟆挡了路,就绕道而行走远路。多去看看开拓思维书籍吧,写程序和写书又有何区别
|
30
3dwelcome 2021-06-11 17:26:40 +08:00
@ZhaoHuiLiu 说到底,我还是没办法接受,糟糕的代码进来污染我的项目库。
因为代码我是需要长期维护的,don't touch my code,这是原则问题。 当然如果同事写的模块有足够的边界,相互调调 API,那也没什么。可是你改我代码,我改你代码,绝对不能忍。 |
31
ZhaoHuiLiu 2021-06-11 17:31:39 +08:00 via Android
@3dwelcome 你要是真牛 b,承包这个项目不就行了,要求公司给你多少钱个月。我能一个人完成就一个人完成,不能完成部分外包出去让别人实现,别人完成了自己重构成符合自己项目风格的代码。这样妥妥的当个包工头不好吗?我就怕你大事干不了,小事又爱插手,倒头来钱少事多,活受罪。。。
|
32
openmm 2021-06-11 17:37:31 +08:00
代码风格显而易见的差 这么多人还建议不要去提 美曰其名处世之道 等你自己和这种人合作你就知道多痛苦了 提出来也是为他好 好的代码利己利他 真就说了几次也不听 那没办法了 只能受着了
|
33
ZhaoHuiLiu 2021-06-11 17:43:12 +08:00 via Android
@openmm 你最好不要去管别人代码风格,毫无意义,只要别人代码能跑那就行,自己干好自己的,维护这东西本身毫无价值,代码好坏看重构次数,说白了就是不断提炼才能出精华。多学学处世之道,和百毒不侵之术,应付一切问题,尽量用嘴不用手,不要三言两语不合就动手很蠢的。
|
34
liuidetmks 2021-06-11 17:44:38 +08:00 via iPhone
@buffzty 望文生义 好像不是这么用的哈哈,具体该用什么成语,我也不知道
|
35
3dwelcome 2021-06-11 17:46:05 +08:00
@ZhaoHuiLiu 这和牛不牛 B 没关系,项目会随着时间推移越来越复杂,代码变多后,我需要的是对代码的掌控力。
不想因为查一个 BUG 而加班,在糟糕的代码里翻大半天,绝对是一件很痛苦的事。 所以我就希望切断污染的源头。和同事合作开发可以,各管各的模块,别动我的代码。 |
36
openmm 2021-06-11 17:51:29 +08:00
@ZhaoHuiLiu 到时候系统出问题 由你自己去改、去调试那部分代码的时候看你还扯处世之道
|
37
ZhaoHuiLiu 2021-06-11 18:02:22 +08:00 via Android
@openmm 无论前端还是后端都有负责人,你又不是负责人,如果是负责人的话,又不要整天写代码,只要改代码和审核代码就行。就算是工厂流水线,每条流水线都有一两个小组长,小组长拿流水线工人多一点的工资不用工作,谁要上厕所了就顶一下,基本流水线上什么活都会干。我最讨厌的人就是大事干不了,小事爱插手的人。
|
38
KouShuiYu 2021-06-11 18:11:36 +08:00
添加强制检查代码风格的钩子,不合格不许 commit
|
39
miloooz 2021-06-12 11:50:19 +08:00
代码写出来是需要后人维护的,还是希望同事能够改过来,这也是对同事的提升不是。还是看团队氛围、同事性格,如果我看这个人顺眼,我会和他一起推进规范化,标准化,如果是看的不爽的,应该还是会和楼上的老哥们说的一样避不做声。等遇到老哥们说的钉之后,再如老哥们说的做也行。
|
40
zgl263885 2021-06-14 12:10:00 +08:00 via iPhone
从 python 之禅里面的一句话来评判的话,你这个同事要么是菜,要么是坏:
代码可读性很重要。 |
41
Chieh 2021-06-15 22:32:20 +08:00
看描述血压上来了,我也遇到过这种人,后来我就懒得管了,把自己的那块写好
|
42
Xavier08 2021-06-23 00:00:47 +08:00
我也想问,怎么写才算一个好的代码风格,需要常看开源还是学习设计模式?我是前端的
|