如何尽可能快地上手一个业务or项目?

简介: 本文简单讲述作者对于“怎么尽可能快地上手一个新业务/项目?”这个问题的个人理解。

在日常工作中,作为程序员可能会经常需要面对业务的变动和接受组织的工作安排,在不同的部门和业务下,我们所需要做的工作是不一样,那我们要如何尽可能快的上手一个业务系统呢?我在这简单聊聊自己的看法~

image.png

1.尽可能全地搜集项目资料

不论是转岗还是加入新团队,直接从事一个全新的项目机会比较罕见(尽管并非不可能)。大多数情况下,我们会接手别人留下的“遗产”。这无外乎几种情形:


1、前同事离职,你继承了他的部分工作;


2、或者你加入了一个新的项目组,被分配了特定的任务;


3、又或者领导对你青睐有加,除了原本职责外,还额外交付了一系列任务,附带了必要的文档。


所以在第一步,我们要去做的就是收集新项目的项目文档。就像学习一个中间件或者一门技术一样,文档就是一份说明书,有了说明书我们才能快速的去了解这个系统的概况甚至是细节。文档沉淀是我们在了解一个项目/业务的时候,最直接、便捷的方式。这也是为什么我觉得要把它放在第一位。


通常团队都会有一个新人空间,存放一些新人要看的基础资料信息,比如一些公共的平台、代码库地址、项目信息等等。这些可以帮我们了解一些项目的概况,一些基础能力依赖等等,但是这些对于我们来说可能还不太够。


我们还需要问带自己的师兄/组长(不同公司称谓可能不一样)要一些我们即将要接受的系统的详细资料。比如说:系统的架构设计、系统的领域划分、历史模块开发时候的设计文档 等等。即使不是自己之后可能负责的模块,有时间也要去阅读相关的文档,因为模块之间可能也会有一些相互依赖或者彼此支撑的关系存在。


不要不好意思开口去要,即使有点内敛的性格,也要“腼腆”的去要资料!因为我们了解的背景、相关领域知识越多,以后上手时候遇到的问题就会越少。不然可能后续需求或者什么来了,你发现什么模型我们都不清楚,那就会一步一坎。


2.梳理领域数据模型

我们在读文档的时候,不要只是简单的看看,有个印象就好,这对于我们接手一个项目是远远不够的。在这里抛个问题:我们阅读文档的根本目的是什么?(这个问题并不好,其实最根本的问题就是文章的标题 怎么尽可能快速地上手项目/业务?)


其实解决了这个问题,我们后续的工作就是顺藤摸瓜了。那我认为的问题的答案是什么呢?或者说问题的关键是什么?


这个关键问题就是 数据模型。


任何系统和业务的运作,不管是面向过程设计也好,面向对象设计也好,领域模型设计也好,其核心都是数据模型的设计。


单个数据模型自身的设计,比如:包含哪些属性、每个属性的含义是什么、这个模型本身代表什么等;同时也有数据模型之间关系的设计,比如:商品和SKU是1:n的关系,榜单和商品、商家等等模型是1:n的关系等。当然这里只是举个例子哈,具体问题具体分析。


我们在梳理数据模型的过程中,可以尝试画ER图或者其他图来把这些关系都表示出来,虽然画图的过程在外人眼里可能看起来会花里胡哨,但是只要帮助我们更好的理解和记忆这个模型这个系统,那就是一个不错的方法。我个人就喜欢边看文档边作图,这样即使后边忘记了,会过来翻一下之前的图例,就可以快速的回忆起来。


了解了业务系统内对应的数据模型,我们可以根据文档以及我们自己的理解,给他们划一下不同的领域,然后就可以找出来不同领域的哪些数据模型进行了交互,这样我们也就慢慢理解了业务里不同领域的范围。再到我们看代码的时候,我们对代码里的逻辑关系理解也可以更快更轻松。


3.理解项目结构及业务逻辑

在完成上述两步之后,我感觉我们就可以慢慢开始看代码了。因为我们已经理解了对应的数据模型,所以我们完全可以按照数据模型作为切入点,开始看项目。


一个项目,通常都会有不同的项目结构,比如说有的是MVC、有的是DDD,又或者其他。所以我们了解一个项目,首先肯定就是它的结构、模块(目录层级)上的划分。我们可以知道入口层在哪里、核心逻辑层在哪里、数据交互层在哪里、对外暴露的接口一般都定义在哪里等等这些项目的基础信息。了解了这些可以方便我们以后定位不同的代码在的位置,方便我们快速定位我们疑问的答案可能会出现在哪个目录(包)下。


之后我们就可以开始链路上的熟悉,参照我们之前搞出来的数据模型,我们可以逐个了解数据模型在系统内对应的业务逻辑设计/实现(这些在文档里或多或少也会提及,我们要对比着看),对于每个模块或者功能的业务流程,我们可以边看边作业务流程图来梳理。作图可以帮我们理清逻辑,也方便实在有看不懂的地方的时候,请教他人。


当然啦,遇到看不懂的流程也很正常,每个系统都会有很多新手不友好的内容。这时候不要害羞,还是那句话:“即使有点内敛的性格,也要“腼腆”的去要xxx”。我们可以去咨询负责对应业务的同学(一般根据文档的作者都能定位到),问一下我们的问题,然后记录下来。如此反复,了解系统的不同业务流程了解个七七八八(百分百肯定不可能的,后续还是需要通过实践来补充剩下的知识的)。


4.学习常用平台相关知识

在了解了差不多之后,我们就要开始为我们实战做准备了。


实战部分,通常会涉及到:需求的生命周期、项目的部署、开发模式(多分支开发、单分支开发)、中间件平台的使用、日志查询等等。


这些一般在新人文档中也应该会有,如果没有的话,就找自己的师兄问下(能找到肯定还是自己尽力找哈)。自己可以尝试搞个测试的分支,写一些测试的代码了解下中间件的使用、平台的使用等等,走个流程熟悉一下。


到这里,我感觉我们上手一个项目的准备基本上就差不多了,剩下的一些可能就要在实际项目需求中去学习了。


5.寄语与展望

本文呢,就是简单讲讲自己对于“怎么尽可能快地上手一个新业务/项目?”这个问题的理解,因为是从个人角度的理解写的,所以可能也会有一些遗漏或者和各位意见不一致的地方,大家有补充的或者指正的,欢迎评论~

希望这些建议能帮助我们快速适应新项目,实现个人和职业的成长!祝愿大家 bug--; money++;





来源  |  阿里云开发者公众号

作者  |  做棵大树



相关文章
|
1天前
|
存储 运维 安全
云上金融量化策略回测方案与最佳实践
2024年11月29日,阿里云在上海举办金融量化策略回测Workshop,汇聚多位行业专家,围绕量化投资的最佳实践、数据隐私安全、量化策略回测方案等议题进行深入探讨。活动特别设计了动手实践环节,帮助参会者亲身体验阿里云产品功能,涵盖EHPC量化回测和Argo Workflows量化回测两大主题,旨在提升量化投研效率与安全性。
云上金融量化策略回测方案与最佳实践
|
15天前
|
人工智能 自动驾驶 大数据
预告 | 阿里云邀您参加2024中国生成式AI大会上海站,马上报名
大会以“智能跃进 创造无限”为主题,设置主会场峰会、分会场研讨会及展览区,聚焦大模型、AI Infra等热点议题。阿里云智算集群产品解决方案负责人丛培岩将出席并发表《高性能智算集群设计思考与实践》主题演讲。观众报名现已开放。
|
7天前
|
自然语言处理 数据可视化 API
Qwen系列模型+GraphRAG/LightRAG/Kotaemon从0开始构建中医方剂大模型知识图谱问答
本文详细记录了作者在短时间内尝试构建中医药知识图谱的过程,涵盖了GraphRAG、LightRAG和Kotaemon三种图RAG架构的对比与应用。通过实际操作,作者不仅展示了如何利用这些工具构建知识图谱,还指出了每种工具的优势和局限性。尽管初步构建的知识图谱在数据处理、实体识别和关系抽取等方面存在不足,但为后续的优化和改进提供了宝贵的经验和方向。此外,文章强调了知识图谱构建不仅仅是技术问题,还需要深入整合领域知识和满足用户需求,体现了跨学科合作的重要性。
|
1月前
|
存储 人工智能 弹性计算
阿里云弹性计算_加速计算专场精华概览 | 2024云栖大会回顾
2024年9月19-21日,2024云栖大会在杭州云栖小镇举行,阿里云智能集团资深技术专家、异构计算产品技术负责人王超等多位产品、技术专家,共同带来了题为《AI Infra的前沿技术与应用实践》的专场session。本次专场重点介绍了阿里云AI Infra 产品架构与技术能力,及用户如何使用阿里云灵骏产品进行AI大模型开发、训练和应用。围绕当下大模型训练和推理的技术难点,专家们分享了如何在阿里云上实现稳定、高效、经济的大模型训练,并通过多个客户案例展示了云上大模型训练的显著优势。
|
3天前
|
人工智能 容器
三句话开发一个刮刮乐小游戏!暖ta一整个冬天!
本文介绍了如何利用千问开发一款情侣刮刮乐小游戏,通过三步简单指令实现从单个功能到整体框架,再到多端优化的过程,旨在为生活增添乐趣,促进情感交流。在线体验地址已提供,鼓励读者动手尝试,探索编程与AI结合的无限可能。
|
3天前
|
人工智能 自然语言处理 前端开发
从0开始打造一款APP:前端+搭建本机服务,定制暖冬卫衣先到先得
通义灵码携手科技博主@玺哥超carry 打造全网第一个完整的、面向普通人的自然语言编程教程。完全使用 AI,再配合简单易懂的方法,只要你会打字,就能真正做出一个完整的应用。
3391 15
|
7天前
|
Cloud Native Apache 流计算
PPT合集|Flink Forward Asia 2024 上海站
Apache Flink 年度技术盛会聚焦“回顾过去,展望未来”,涵盖流式湖仓、流批一体、Data+AI 等八大核心议题,近百家厂商参与,深入探讨前沿技术发展。小松鼠为大家整理了 FFA 2024 演讲 PPT ,可在线阅读和下载。
3257 10
PPT合集|Flink Forward Asia 2024 上海站
|
20天前
|
人工智能 自然语言处理 前端开发
100个降噪蓝牙耳机免费领,用通义灵码从 0 开始打造一个完整APP
打开手机,录制下你完成的代码效果,发布到你的社交媒体,前 100 个@玺哥超Carry、@通义灵码的粉丝,可以免费获得一个降噪蓝牙耳机。
5901 16
|
1月前
|
缓存 监控 Linux
Python 实时获取Linux服务器信息
Python 实时获取Linux服务器信息
|
2天前
|
消息中间件 人工智能 运维
12月更文特别场——寻找用云高手,分享云&AI实践
我们寻找你,用云高手,欢迎分享你的真知灼见!
352 34