Redian新闻
>
请教正常的code review应该是如何的
avatar
请教正常的code review应该是如何的# JobHunting - 待字闺中
r*e
1
在A家做SDE实习,分到一个新组,不知道是不是因为组里要launch新产品压力很大,还
是或许manager比较push,组里的人都非常忙碌,对我这个小实习很冷漠。然后分到的
project也挺难的,还是在核心package上写new feature,但抱着学习的态度我还是非
常非常努力。
但慢慢发现,code review非常艰难。
第一,mentor是唯一给我review的人,然后每次声称非常忙,所以永远不会提前跟我面
对面交流,比如讲清楚我们大概要怎么做,或者什么特别需要注意的地方。他只想在
code review comments上交流。所以我只能按照我自己的想法写,然后他就提出各种
comments,比如虽然我的写法是对的,但是这个组里有特殊偏好,必须按照组里的规矩
写。。。但我心想,你为什么不提前说呢?你提前说了我就不浪费时间了啊?
第二,我有什么疑问,他永远不会直接回答或者告诉答案,永远继续提出更多问题把我
弄晕。最后我只能说could you be more direct? 他directly告诉我答案后,我一下子
就理解了,分明是个很简单的东西,为什么要云里雾里的饶?请问这是故意为难我,还
是想给我一个好的training呢?
第三,比如第一版他提出3个comments,我全部解决后写了第二版review,他接着又提
出3个全新的comments,要我继续改。。。我心想为啥不一次性都说清楚呢?这样完全
浪费我的时间啊。
另外,因为是独立project,所以跟其他人没有共同利益,除了mentor外没人愿意给我
code review。但同时做的这个new feature又是核心package的东西,所以组里把关严
格也是应该的。所以我的coding进度就被这个mentor,或者说这个组彻底拖慢,然后
manager居然批评我说你做的太慢了。。。对我的hardworking的态度表示一文不值。
一开始我觉得可能我coding水平不够好,但慢慢觉得,他们这是不是故意为难我呢?但
我也没太多经验,所以不晓得其他公司其他组是不是也是这样呢?这是我自己的问题,
还是我有被他们set up for failure呢?
非常感谢。
avatar
g*x
2
一个intern怎么这么多屁事。。
avatar
z*n
3
这是亚麻文化。不给你多搞点comments,怎么显示他比你牛逼?
其实亚麻东西都简单,aws全套都把架子打起来了,写写coral api, 调调 aws封装的
数据库接口就行了。
avatar
z*n
4
说实在,亚麻sde2比sde1强的地方,主要体现在code review里提出更多鸡毛蒜皮的东
西。
avatar
d*n
5
楼主既然知道问题了 那就多问啊
每周固定的1对1 写黑板拉清单 问roadmap
每天见面第一件事 问功能问需求
不过这门特也挺差劲的 听上去是没有提前规划整个项目 走一步算一步
avatar
d*3
6
第一,mentor是唯一给我review的人,然后每次声称非常忙,所以永远不会提前跟我面
对面交流,比如讲清楚我们大概要怎么做,或者什么特别需要注意的地方。他只想在
code review comments上交流。所以我只能按照我自己的想法写,然后他就提出各种
comments,比如虽然我的写法是对的,但是这个组里有特殊偏好,必须按照组里的规矩
写。。。但我心想,你为什么不提前说呢?你提前说了我就不浪费时间了啊?
--> 如果mentor非常忙,或者比较introverted/自身也有一些communication问题,你
说的这种情况有可能出现。如果你需要方向,最好主动要求1:1讨论,然后把讨论得出
的结论和做好的决定记下来。如果mentor会解释这是team的preference,算比较好的了。
第二,我有什么疑问,他永远不会直接回答或者告诉答案,永远继续提出更多问题把我
弄晕。最后我只能说could you be more direct? 他directly告诉我答案后,我一下子
就理解了,分明是个很简单的东西,为什么要云里雾里的饶?请问这是故意为难我,还
是想给我一个好的training呢?
--> 不同的team有不同的dynamics,从assume best intention角度来看,mentor可能
是用心想train你;如果从assume worst intention的角度来讲,也有可能是故意为难
你。但是从你说他和你的交流都是用code review comments,很有可能他是为了train
你,因为code review是公开的,别人给他做perf review的时候他可以用这些来做
reference。如果in general你希望他的comment更直接,可以1:1的时候给他feedback。
第三,比如第一版他提出3个comments,我全部解决后写了第二版review,他接着又提
出3个全新的comments,要我继续改。。。我心想为啥不一次性都说清楚呢?这样完全
浪费我的时间啊。
--> 没看到具体的change list不好说,要看情况,有些时候如果change list大体上有
方向问题,那第一遍的时候一般是指出方向性的问题,等第二遍再看细节。
另外,因为是独立project,所以跟其他人没有共同利益,除了mentor外没人愿意给我
code review。但同时做的这个new feature又是核心package的东西,所以组里把关严
格也是应该的。所以我的coding进度就被这个mentor,或者说这个组彻底拖慢,然后
manager居然批评我说你做的太慢了。。。对我的hardworking的态度表示一文不值。
--> 你可以跟manager说希望和别的同事有合作,再给你找个back up mentor之类,这
样你可以有更多的同事有接触,也方便。另外,最好跟manager讨论code review很花时
间,问ta有哪些方法可以改进。如果你mentor 有communication问题,manager也好给
他feedback。
In addition:internship基本上是个几个月长的job interview,一般比较看中intern
的积极主动性,communication(好教,有问题及时问,不怕出错),学习能力。另外
,hardworking 这件事,不如get things done重要,所以也不算是个被value的点。
从你的描述来看,我不完全能肯定是被mentor黑,很有可能mentor经验不是很足,你可
以多主动和mentor,manager交流,然后其他组员一起吃饭/喝咖啡之类的时候多多加入
。尬聊也要聊。
希望可以帮到你。
另外这是我的豆瓣feed:https://www.douban.com/people/rainbowmimi/statuses
有时候会讨论一些文化根源性的communication问题,you might find it interesting.

【在 r**********e 的大作中提到】
: 在A家做SDE实习,分到一个新组,不知道是不是因为组里要launch新产品压力很大,还
: 是或许manager比较push,组里的人都非常忙碌,对我这个小实习很冷漠。然后分到的
: project也挺难的,还是在核心package上写new feature,但抱着学习的态度我还是非
: 常非常努力。
: 但慢慢发现,code review非常艰难。
: 第一,mentor是唯一给我review的人,然后每次声称非常忙,所以永远不会提前跟我面
: 对面交流,比如讲清楚我们大概要怎么做,或者什么特别需要注意的地方。他只想在
: code review comments上交流。所以我只能按照我自己的想法写,然后他就提出各种
: comments,比如虽然我的写法是对的,但是这个组里有特殊偏好,必须按照组里的规矩
: 写。。。但我心想,你为什么不提前说呢?你提前说了我就不浪费时间了啊?

avatar
d*n
7
写code有点像砌砖,一般70%以上的东西是没有任何用处但是不写不行的基础,只有20%
是核心10%是画龙点睛之笔。这70%甚至推到反复来过都不是不可以。
所以mentor的意思肯定就是让你写70%,剩下30%交流合作,最后他给画龙点睛一笔。
他不告诉你写之前的70%是很正常的。这就好像我们拿着意向书去见客户,客户请我们
喝茶就送走了,下次去还是喝茶,再下次还是喝茶。但是如果直接拿着demo去就不一样
了,马上客户里的技术大牛也过来打听了。
那为啥接下来30%要写得这么慢呢?这也很正常,因为你走了以后肯定还是他接手,如
果你写的文风完全不一样他也没法接手。这时候如果你水平超过mentor,记得要拉低下
限,拉到你mentor可以跟上的地步。如果组里是oo就不要搞fp。记住无论怎么写,你写
的都是一块砖。
那到什么时候为止呢?记住mentor说啥改就是了,最好每天早上在mentor到之前就到,
然后看到mentor打了招呼就问code review的事情。你只要让mentor在code review上花
的时间超过他觉得可以自己重写一遍的时间,他就不会再为难你了。
这个也很简单,从mentor的角度来看,假设写实习生的功能要花4个小时,但是code
review只要30分钟,和实习生交流是30分钟,那当然是花1小时让实习生做比较划算了
。在mentor的工作上,每天花了7小时写代码,1小时带实习生。至于实习生花了8小时
还是一个周末,反正不是自己的时间不心疼。
记住写code也是个社交工程。不是说github是最大的同行社交网站吗?又例如Pair
Programming最终的目的是在团队中找到和自己最合得来的真爱。所以都有一个新人逐
步融入的过程。也许这个过程很长时间都没有发生,那对于团队来说里面有个陌生人也
是很难受的。
其实所谓的融入也许根本不是你的问题。例如有些组就是业务很好但是不重视理论,有
些组喜欢撸起袖子就干有些组让你写测试写到死的。你如果试了不少时间觉得没法接受
那就散伙吧,这和谈朋友分手完全一样。但是如果你和同事的交集仅仅在工作项目上的
话,那是很危险的。

【在 r**********e 的大作中提到】
: 在A家做SDE实习,分到一个新组,不知道是不是因为组里要launch新产品压力很大,还
: 是或许manager比较push,组里的人都非常忙碌,对我这个小实习很冷漠。然后分到的
: project也挺难的,还是在核心package上写new feature,但抱着学习的态度我还是非
: 常非常努力。
: 但慢慢发现,code review非常艰难。
: 第一,mentor是唯一给我review的人,然后每次声称非常忙,所以永远不会提前跟我面
: 对面交流,比如讲清楚我们大概要怎么做,或者什么特别需要注意的地方。他只想在
: code review comments上交流。所以我只能按照我自己的想法写,然后他就提出各种
: comments,比如虽然我的写法是对的,但是这个组里有特殊偏好,必须按照组里的规矩
: 写。。。但我心想,你为什么不提前说呢?你提前说了我就不浪费时间了啊?

avatar
Z*0
8
如果他一次给提100+ comments,我想你的自信心会受到打击。
LZ要端正思想,你应该想想为什么他后来又给加了3个comments?说明他希望你自己懂
脑子,按照他的思路,去improve your code。
A家能够有人给你CR和mentoring你,你应该知足。
avatar
m*o
9

20%
我老板超级喜欢写测试,我花一分钟改一行代码,花一小时写测试,因为项目很老,很
多代码没测试,得从头写,巨多坑....

【在 d****n 的大作中提到】
: 写code有点像砌砖,一般70%以上的东西是没有任何用处但是不写不行的基础,只有20%
: 是核心10%是画龙点睛之笔。这70%甚至推到反复来过都不是不可以。
: 所以mentor的意思肯定就是让你写70%,剩下30%交流合作,最后他给画龙点睛一笔。
: 他不告诉你写之前的70%是很正常的。这就好像我们拿着意向书去见客户,客户请我们
: 喝茶就送走了,下次去还是喝茶,再下次还是喝茶。但是如果直接拿着demo去就不一样
: 了,马上客户里的技术大牛也过来打听了。
: 那为啥接下来30%要写得这么慢呢?这也很正常,因为你走了以后肯定还是他接手,如
: 果你写的文风完全不一样他也没法接手。这时候如果你水平超过mentor,记得要拉低下
: 限,拉到你mentor可以跟上的地步。如果组里是oo就不要搞fp。记住无论怎么写,你写
: 的都是一块砖。

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。