当前位置:网站首页>入职一家新公司,如何快速熟悉代码?
入职一家新公司,如何快速熟悉代码?
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 页,为了不影响大家的阅读体验就只展示了部分内容,希望能帮助到您面试前的复习且找到一个好的工作,也节省大家在网上搜索资料的时间来学习!
需要的小伙伴点击下方名片,扫码免费领取。
边栏推荐
- AssertionError: CUDA unavailable, invalid device 0 requested
- Stocking but not completely stocking (daily question 2 in spring)
- Merge sort template & understanding
- 结合实操带你吃透Redis持久化
- DataEase模板市场正式发布
- Reading notes at night -- deep into virtual function
- Full arrangement ii[duplicate removal of the same elements + standard backtracking]
- Application session coverage solutions with different ports on the same server
- Dataease template market officially released
- ‘distutils‘ has no attribute ‘version
猜你喜欢
Ideas and examples of divide and conquer
Abnova丨A4GNT多克隆抗体中英文说明
Dataease template market officially released
Experiment 5 8254 timing / counter application experiment [microcomputer principle] [experiment]
AutoCAD - two extension modes
"One good programmer is worth five ordinary programmers!"
全排列II[存在相同元素去重 + 标准回溯]
void* 指针
门店无线音箱造假?索尼回应:产品预留了有线连接接口 复杂场景下可以使用
Bi SQL constraints
随机推荐
Integration of metersphere open source continuous testing platform and Alibaba cloud cloud cloud efficient Devops
Assembly language (3) 16 bit assembly basic framework and addition and subtraction loop
Numerical scheme simulation of forward stochastic differential equations with Markov Switching
Experiment 5 8254 timing / counter application experiment [microcomputer principle] [experiment]
Search two-dimensional matrix [clever use of bisection + record solution different from inserting bisection]
[leetcode] 11. Container with the most water
PHP 利用getid3 获取mp3、mp4、wav等媒体文件时长等数据
O (log (min (m, n))
全排列II[存在相同元素去重 + 标准回溯]
Stocking but not completely stocking (daily question 2 in spring)
字符串常用方法
弹性蛋白酶中英文说明书
Huawei laptop, which grew against the trend in Q1, is leading PC into the era of "smart office"
Matlab rounding
How to open a stock account? Is it safe to open a mobile account?
Abnova CSV magnetic beads description in Chinese and English
Cake review fatigue in the secondary market of innovative drugs: phase III clinical success and product approval
中文地址与英文地址
Expectation and variance
股票开账户如何优惠开户?手机开户是安全么?