公司新员工认为公司的代码很烂,是鼓励他重构还是让他先熟悉业务逻辑?

2016-11-24 16:11:36 +08:00
 vultr
14375 次点击
所在节点    程序员
92 条回复
blacknight
2016-11-25 10:36:16 +08:00
不要让入职少于一年的同事重构代码,切记
zhangv
2016-11-25 10:45:05 +08:00
没有单元测试的重构,无从谈起啊。
再聪明的人也做不到 - 因为代码的复杂都是持续增加的(其实就是 ifelse ),总归是可以到达人类的极限的。
必须要单元测试,并且是从局部开始。
ChasYuan
2016-11-25 10:47:55 +08:00
当然要熟悉业务为先。
业务都不熟悉谈重构觉得挺扯淡的。
chmlai
2016-11-25 10:51:18 +08:00
业务都不熟悉怎么重构?
Miy4mori
2016-11-25 10:53:36 +08:00
你要让他重构估计重构出一坨然后自己离职了……
mars0prince
2016-11-25 10:54:30 +08:00
这种新员工很不错了,一看就是真萌新,重构这种事,老板看不到 KPI 没有,出了事还得自己兜底,还会得罪人,费力不讨好,何必呢
victor
2016-11-25 10:55:59 +08:00
程序员都是这样,看不起别人的代码,觉得谁写的都不如自己的。也不想想,谁愿意写垃圾代码?时间紧,任务重,人手不够,给种原因造成的。
重构?我也遇到过类似的新同事,写了一半跑路了。
nicevar
2016-11-25 11:18:08 +08:00
三年以下工作经验的最喜欢一来公司说代码烂,结果过去一段时间发现他自己也是个烂货
barbery
2016-11-25 11:23:37 +08:00
先熟悉业务。。。然后他就放弃重构了。。。
knightlhs
2016-11-25 11:28:35 +08:00
先让他去熟悉业务 然后发配去写测试 覆盖了超过 90%了再谈重构
你猜他会在哪个阶段放弃?
wildcat007
2016-11-25 12:13:37 +08:00
觉得代码烂?我的好多程序员朋友接手别人代码的时候都有这样的感觉(错觉?)。重构什么的 等先熟悉业务逻辑以后再谈重构吧。

有些东西在重构的时候,一堆 bug···
Actrace
2016-11-25 12:59:28 +08:00
至今有些愧疚,在第一家公司重做一个由 dede 写的产品,做了差不多半年还没做出个样子,然后自己辞职了。
yidinghe
2016-11-25 13:27:37 +08:00
只允许小规模重构,比如修改命名,添加注释,提取变量之类的,而不允许更改业务逻辑。如果要更改业务逻辑,必须先写单元测试。
iluhcm
2016-11-25 13:30:37 +08:00
这个事还是挺有感触的。

校招拿了公司 offer ,提前进来实习。由于在拿到 offer 之前已经有了较为正式的实习经历(一家很有潜力股的创业公司,写代码的人几乎都是从 BAT 出来的),代码质量非常好,跟着老大学了很多。如果不是地域原因,我都考虑留那里了。回到正文,来到公司以后,也是对项目写的代码不尽如人意,所以感到不满,对 Mentor 提出重构某个大模块。在大部分团队成员不太赞成的情况下,我还是自己拉分支干了起来,一边熟悉业务流程,一边重构代码。重构完成后,由 Mentor 和该模块以前的负责人一起 review 代码,尽管在测试最后阶段发现了一个由于之前的烂代码而没有留意到的坑,后来填补以后跟着日常版本上线了。

回想起这段经历,我觉得可能是每个新人刚来到公司都想做的事情,冲动可以理解,关键还是看是否能把逻辑理清,把旧代码熟悉以后再去考虑重构。
cc7756789
2016-11-25 13:38:31 +08:00
我看电影或者拳击赛认为他们都是花架子,一点也不凶悍。然后我去健身房,举不起 20 公斤的哑铃。
heimirror
2016-11-25 13:43:22 +08:00
先熟悉业务和旧代码,否则就是一点职业精神都没有
公司请你来不是搞出问题来的,是搞定问题
ppwangs
2016-11-25 15:09:22 +08:00
我都想改现有项目的架构了,但是一个是没时间,一个是担心别人不服…… 虽然我就是架构
pyshift
2016-11-25 15:16:23 +08:00
@tension2012 说的在理,特别是有业务发展掺杂进来历史演变,烂其实是有“原因”的。
zhouzm
2016-11-25 16:58:15 +08:00
开个分支让他试试呗,能有什么风险?
shijingshijing
2016-11-25 18:26:09 +08:00
@zhouzm 浪费人力啊,公司花钱又不是让他学习的,重构上面折腾花费的时间用来替老员工复制粘贴,打杂可以帮老员工省不少事呢,这样能加快现有项目进度啊。。。

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

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

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

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

© 2021 V2EX