查看: 4243| 回复: 8
跳转到指定楼层
上一主题 下一主题
收起左侧

[新组上路] New Grad进组后很迷茫

 
🔗
匿名用户-DNVA3  | 添加认证 | 2022-2-17 10:22:56 来自APP |倒序浏览

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
其实也不算完全new grad,之前有一些实习和一段短的全职。之前实习都是围着一个project做,全职的公司代码很水每个组scope很小。最近入职了一家公司,组里负责的东西很多,代码非常多,小小一块东西都能牵扯到十几个文件。没有什么documentation,只能啃代码。可能也是没有在大型codebase工作的经验,第一次怀疑自己的能力是不是有问题,一块地方从头trace下去之后就越来越晕不记得前面看过的东西,上手速度感觉很慢。想请教一下大家复杂的codebase该怎么上手?

上一篇:亚麻烙印新manager,组要寄了,求建议
下一篇:请问谷歌team match没结果的后来怎么样了?
全局:
代码库几百万(几千万?)行的来尝试回答。自己总结的,可能不是最好的,但我现在已经活下来了。刚入职非常struggle,而且我们组很久没有招新人,老板可能都不知道新人怎么上手。。。. .и

如何上手巨大的代码?
我觉得最有效的方法是加test。找你mentor要那种,你mentor做的,写了一些test 但不算全的工作来写Test,并请他把当时他写的pr给你(自己去翻blame也行)。
看他的pr 的时候,一个一个地搞清楚这个pr是怎么work的,和周围的类的调用关系是什么,打各种log(见下),然后仿照他的test写测试。
这种任务为什么好?
你mentor自己做的,他很熟,你不需要去问其他太多的人。对于新人来说这样心理压力很大。
这样的任务会有一个主题,你可以从中熟悉代码库里的一小块。未来等你接触新的东西的时候,你可以通过和这一小块东西的相对关系来理解自己处于什么位置。这很重要。
加测试这种东西,做坏了搞不坏系统,做好了improve test coverage,很安全。

Trace之后越来越晕:
这很正常。人脑工作原理,你记不住那么长的递归栈的。(大神除外)
解决方法1买一大堆A3纸,一些彩色笔,边看边画框框,旁边写备注。
解决方法2拿一个文档,每看一个函数,就记录下和你要看的逻辑相关的部分,把无用的代码删掉,然后搞出一个简化版的逻辑关系。接着去看调用的函数,重复以上过程。
解决方法3学会调试工具,最起码要学会print大法。.

评分

参与人数 11大米 +12 收起 理由
yuke + 1 很有用的信息!
lassiethecollie + 2 谢谢分享!
ZChong + 1 很有用的信息!
fmusk + 1 赞一个
rue + 1 给你点个赞!

查看全部评分

回复

使用道具 举报

地里匿名用户
推荐
匿名用户-PJFTE  | 添加认证 | 2022-2-17 10:42:45
本帖最后由 匿名 于 2022-2-16 18:44 编辑
.1point3acres
诚然的说,没有办法,唯一的办法就是给你一些简单的ticket,然后慢慢熟悉。新手对项目的熟悉最好的办法就是要弄明白整个测试流程但是没有个3个月+几个oncall是不太可能弄太清楚的。我觉得有一点很重要,就是一定要表明自己渴望学习和适当示弱,告诉老板你就是NG,这样你老板不管好坏至少有个心理预期对你。
回复

使用道具 举报

推荐
stonefish 2022-2-18 05:43:32 | 只看该作者
全局:
自己画流程图。。。画的好了还可以作为team里的documentation给别人看,画的不好就自己留着看。。。
回复

使用道具 举报

地里匿名用户
🔗
匿名用户-XEDYJ  | 添加认证 | 2022-2-17 11:06:34
md这学期一门课的一个作业里的一个milestone就有十几个文件,写了已经快tm半个月了...淦
回复

使用道具 举报

全局:
micmoc 发表于 2022-2-17 07:44
代码库几百万(几千万?)行的来尝试回答。自己总结的,可能不是最好的,但我现在已经活 ...
+1 to 加test
回复

使用道具 举报

🔗
yuql216 2022-2-18 05:34:21 | 只看该作者
全局:
micmoc 发表于 2022-2-17 07:44
代码库几百万(几千万?)行的来尝试回答。自己总结的,可能不是最好的,但我现在已经活下来了。刚入职非常str ...

想起我刚入职的那会儿,我把我工位后面的白板写的密密麻麻,就是为了很清楚的知道每一块flow是啥
回复

使用道具 举报

地里匿名用户
🔗
匿名用户-BYLGJ  | 添加认证 | 2022-2-18 06:40:28 来自APP
楼主可能偷了我家监控,转到一个新组,之前组的scope 比较小,新组几十个package ,各种依赖,改一个代码,不知道什么test就挂了,看看写写停停,一个月也摸不到门道
回复

使用道具 举报

🔗
EbMuCM7V 2022-2-19 01:38:03 | 只看该作者
全局:
不要想着一上来就把整个流程都捋顺,call stack搞多了很容易乱掉。一开始对系统有个概念就好,比如大概有哪几块。然后一个模块一个模块的来,可以先写一写和已有功能类似的function,全程copy paste加一些小修改那种,然后一点点带着看怎么设置参数,怎么初始化,怎么读写数据库等等,一个地方一个地方的熟悉,等各个模块都有感觉了再连起来跑整个流程。

评分

参与人数 1大米 +1 收起 理由
agign + 1 给你点个赞!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
职场达人
  • ↑ 本版用于讨论职场各种干货话题,闲聊请去🔗聊聊或者🔗匿名版
  • ❌ 本版严禁水贴,引战,发布广告,拉群,贴个人联系方式,扣分无警告
  • ☑ 求职、面经等去 🔗北美求职和 🔗回国求职大区,刷题和学习请去 🔗终身学习大区
  • ☑ 请去专版发布 🔗内推, 🔗招聘信息,和讨论 🔗创业内容
  • ☑ PIP / DevList/ Need Support 等话题也已开设 🔗专版

本版积分规则

>
快速回复 返回顶部 返回列表