入职一家新公司,如何快速熟悉代码?

Posted Hollis Chuang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了入职一家新公司,如何快速熟悉代码?相关的知识,希望对你有一定的参考价值。

Hollis的新书限时折扣中,一本深入讲解Java基础的干货笔记!

互联网的薪资还是非常诱人的,高辄年薪百万,低辄几万十几万。

虽然,很多互联网企业每年都有 2% ~ 20% 不等的调薪。但是,这点工资涨幅跟程序员付出的辛苦相比,根本不值一提。

因此,跳槽也就成为了很多程序员 快速涨薪 的首选方式。

但,人的本性是喜欢稳定,突然换一个陌生环境,开始时会有强烈的不安全感。

如何快速适应新的工作环境?

这里面既要熟悉公司的企业文化、产品业务、技术框架、系统代码,还要处理好身边的同事关系。

要面对的事情好多呀,生活太难了。。。

当然,程序员的工作首选还是快速熟悉系统,进而能快速上手写代码。

那么今天,就跟大家一起聊聊,新人入职,如何快速投入工作?

首先,我们要清楚,每个人的大脑想法都不一样。正如莎士比亚说的,一千个人眼中有一千个哈姆雷特。

如果按常规思路,去揣测别人的代码思路,很容易陷入细节中。

你不疯,谁疯!

1、先看文档。

设计文档就像一座大楼的设计图纸,让我们对整个系统先有个直观的认识。

所以说,对于刚入职的新人,一定要和身边同事尤其是带你的师兄搞好关系,给人家买买奶茶,请个午饭啥的,程序员一般内心善良,很容易被打动。

你后续的答疑肯定要麻烦人家,当然人家也可能顺手分享给你一些有用的技术文档资料,你别小看这个,它对你快速熟悉系统起到了至关重要的作用。

特别注意:通常文档与代码存在一定的滞后性,比如修复线上 bug、或者一些小需求,可能就没有文档更新,如果这类需求迭代较多时,那么文档与代码的不一致性会很大。

记住一点,文档只是一个参考,不能全信。要不然你会被坑得很惨!

2、万物皆相通。

任何事情都是有技巧的,就像小时候语文老师教我们如何写作文一样,总分分总总分总,这些框架思路大家一定不陌生。

比如上面系统架构,当然每个公司的系统也是大同小异。

首先,最上层的业务输入层,可能是页面,也可能是对外的 API 接口。

不管是哪一种形式,我们可以快速将其转换为 用例图。通过用户故事,帮助我们先了解整个系统的 核心功能,让我们对业务体系先有个体感。

3、家里有粮,心中不慌。

然后,就是另一端了,没错,就是底层的关系存储,将业务表的 ER 图快速还原。

不管中间的 Service 层Manager 层infrastructure 层 如何复杂,最终数据肯定是要落盘存储。打蛇要打七寸,解决问题要抓主要矛盾。

当我们把业务表的 ER 关系还原出来后,我们基本上能从上下两端,快速摸清业务。

稍微有些经验的架构师、领域专家对于系统如何搭建,心中会形成个概要方案。

然后带着这个思路,再去看代码,不断纠正自己心中的设想方案。就像拿着手电筒走路,不会两眼一抹黑。

4、同事解惑,结果论证。

当然了,你全身心投入看了几天的代码,感觉懂了很多,但又缺少一种脚踏实地的感觉。

可能你也收集了一些问题,还没有答案。

你可以找熟悉系统的同事,占用人家一点时间寻求答疑解惑。当然你也可以讲下对系统的个人理解,听听别人的反馈,验证自己的理解是否有偏差。教学相长 会让自己进步更快。

如果恰好你是老板的话,那相对容易很多,你可以安排团队成员对自己负责的模块,梳理产出用例图类图状态机时序图 、流程图架构图 等,既锻炼了小伙伴们的逻辑思维能力、表达能力,也为自己熟悉系统提供更多的信息输入。

5、最,前人栽树,后人乘凉。

无论你是原创作者,还是后来接手,技术文档一定要持续建设。随着越来越多的人接手并重视文档的建设,才能让代码逻辑显性化、清晰化,也便于我们的持续优化升级,而不是处于一种持续混乱的状态中。

我的新书《深入理解Java核心技术》已经上市了,上市后一直蝉联京东畅销榜中,目前正在6折优惠中,想要入手的朋友千万不要错过哦~长按二维码即可购买~

长按扫码享受6折优惠

往期推荐

腾讯薪酬重大调整!


一次 MySQL 误操作导致的事故,「高可用」都顶不住了!


这个队列的思路真的好,现在它是我简历上的亮点了。

如果你喜欢本文,

请长按二维码,关注 Hollis.

转发至朋友圈,是对我最大的支持。

点个 在看 

喜欢是一种感觉

在看是一种支持

↘↘↘

以上是关于入职一家新公司,如何快速熟悉代码?的主要内容,如果未能解决你的问题,请参考以下文章

新手程序员入职新公司,该如何快速上手?

入职新公司如何熟悉项目

入职一个月快速熟悉大型Vue项目经验感想

入职新单位,如何快速熟悉新系统的数据库表和字段?

入职新单位,如何快速熟悉新系统的数据库表和字段?

新入职测试岗,我需要怎样快速熟悉项目业务?总结......