当前位置:网站首页>入职一家新公司,如何快速熟悉代码?
入职一家新公司,如何快速熟悉代码?
2022-06-24 21:53:00 【Nin-Ja-】
先看文档
设计文档就像一座大楼的设计图纸,让我们对整个系统先有个直观的认识。
所以说,对于刚入职的新人,一定要和身边同事尤其是带你的师兄搞好关系,给人家买买奶茶,请个午饭啥的,程序员一般内心善良,很容易被打动。
你后续的答疑肯定要麻烦人家,当然人家也可能顺手分享给你一些有用的技术文档资料,你别小看着这个,它对你快速熟悉系统起到了至关重要的作用。
特别注意:通常文档与代码存在一定的滞后性,比如修复线上bug、或者一些小需求,可能就没有文档更新,如果这类需求迭代较多时,那么文档与代码的不一致性会很大。
记住一点,文档只是一个参考,不能全信。要不然你会被坑的很惨!
万物都是相通
任何事情都是有技巧的,就像小时候语文老师教我们如何写作文一样,总分、分总、总分总,这些框架思路大家一定不陌生。

比如上面系统架构,当然每个公司的系统也是大同小异。
首先,最上层的业务输入层,可能是页面,也可能是对外的API接口
不管是哪一种形式,我们可以快速将其转换为用例图。通过用户故事,帮助我们先了解整个系统的核心功能,让我们对业务体系先有个体感。
家里有粮,心中不慌。
然后,就是另一端了,没错,就是底层的关系存储,将业务表的ER图快速还原

不管中间的Service层、Manager层、infrastructure层如何复杂,最终数据肯定是要落盘存储。打蛇要打七寸,解决问题要抓主要矛盾。
当我们把业务表的 ER关系还原出来后,我们基本上能从上下两端,快速摸清业务。
稍微有些经验的架构师、领域专家对于系统如何搭建,心中会形成个概要方案。
然后带着这个思路,再去看代码,不断纠正自己心中的设想方案。就像拿着手电筒走路,不会两眼一抹黑。
同事解惑,结果论证
当然了,你全身心投入看了几天的代码,感觉懂了很多,但又缺少一种脚踏实地的感觉。
可能你也收集了一些问题,还没有答案。
你可以找熟悉系统的同学,占用人家一点时间寻求答疑解惑。当然你也可以讲下对系统的个人理解,听听别人的反馈,验证自己的理解是否有偏差。教学相长会让自己进步更快。
如果恰好你是老板的话,那相对容易很多,你可以安排团队成员对自己负责的模块,梳理产出用例图、类图、状态机、时序图、流程图、架构图等,既锻炼了小伙伴们的逻辑思维能力、表达能力,也为自己熟悉系统提供更多的信息输入。
最后
前人栽树,后人乘凉。无论你是原创作者,还是后来接手,技术文档一定要持续建设。随着越来越多的人接手并重视文档的建设,才能让代码逻辑显性化、清晰化,也便于我们的持续优化升级。而不是处于一种持续混乱的状态中。
金九银十马上要开始了,我整理了一些java技术资料和面试题集,供大家提升进阶,不管你是要入门学习还是想面试跳槽巩固基础,都可以免费领取一份。
下面展示部分截图,文末附免费下载方式。
第一篇:基础篇

第二篇:JVM 篇

第三篇:多线程 &并发篇

第四篇:Spring 篇

第五篇:MyBatis 篇

第六篇:Spring Boot 篇

第七篇:MySQL 篇

第八篇:Redis 篇

第九篇:Spring Cloud 篇

第十篇:Nginx 篇

第十一篇:MQ 篇

第十二篇:数据结构与算法篇

第十三篇:Linux 篇

第十四篇:简历篇

最后
整份文档一共有将近 200 页,为了不影响大家的阅读体验就只展示了部分内容,希望能帮助到您面试前的复习且找到一个好的工作,也节省大家在网上搜索资料的时间来学习!
需要的小伙伴点击下方名片,扫码免费领取。
边栏推荐
- Unity C # e-learning (VI) -- FTP (II)
- Fatigue liée à l'examen du marché secondaire des médicaments innovants: succès clinique de la phase III et approbation du produit
- Abnova 5-methylcytosine polyclonal antibody
- 困牛排序(寒假每日一题 40)
- 最长连续序列[扩散法+空间换时间]
- 动手学数据分析 数据建模和模型评估
- Abnova丨A4GNT多克隆抗体中英文说明
- 弹性蛋白酶中英文说明书
- Install mysql5.6 under linux64bit - the root password cannot be modified
- 創新藥二級市場審餅疲勞:三期臨床成功、產品獲批也不管用了
猜你喜欢

Application session coverage solutions with different ports on the same server

The innovation consortium of Haihe laboratory established gbase and became one of the first member units of the innovation Consortium (Xinchuang)
![Search two-dimensional matrix [clever use of bisection + record solution different from inserting bisection]](/img/c9/afc03afd477bbfdd3c0dc54bacfd2d.png)
Search two-dimensional matrix [clever use of bisection + record solution different from inserting bisection]

Abnova 5-methylcytosine polyclonal antibody

TC对象结构和简称
![[leetcode] 11. Container with the most water](/img/40/8bb6506a29f8da797432fee50d3aad.png)
[leetcode] 11. Container with the most water

Baidu voice synthesizes voice files and displays them on the website

Pbcms adding cyclic digital labels

百度语音合成语音文件并在网站中展示

Use redis' sorted set to make weekly hot Reviews
随机推荐
中文地址与英文地址
Unity C # e-learning (VI) -- FTP (II)
CCNP的BGP部分笔记
1. package your own scaffold 2 Create code module
‘distutils‘ has no attribute ‘version
Cloud development technology summit · public welfare programming challenge [hot registration]!
Matlab rounding
Chinese and English instructions of trypsin
WinXP内核驱动调试
多模态数据也能进行MAE?伯克利&谷歌提出M3AE,在图像和文本数据上进行MAE!最优掩蔽率可达75%,显著高于BERT的15%
excel 汉字转拼音「建议收藏」
PHP easywechat and applet realize long-term subscription message push
【LeetCode】11、盛最多水的容器
最长连续序列[扩散法+空间换时间]
百度语音合成语音文件并在网站中展示
Properties of DOM
梦想CAD云图与GIS结合演示
SQL aggregate function handling null [easy to understand]
放养但没有完全放养(春季每日一题 2)
Redis basic commands and types