- VisualStudio2022插件的安装及使用-编程手把手系列文章
- pprof-在现网场景怎么用
- C#实现的下拉多选框,下拉多选树,多级节点
- 【学习笔记】基础数据结构:猫树
最近知识星球中有小伙伴问我:如何快速上手一个新项目?
这个问题是一个公共问题,估计很多换了公司的小伙都想问这个问题.
我在工作的这些年当中,换过几次工作,接手过同事的一些项目,需要经常上手一些不同类型的新项目.
今天这篇文章跟大家一起聊聊我的一些总结和思考,希望对你会有所帮助.
首先要使用该项目相关功能,知道这个项目是做什么的,主要的功能有哪些,从宏观上有个大致的印象,更不容易忘记.
比如:你们的项目是商城系统或者团购系统,把自己当成普通用户,去访问你们系统的APP或者网站,走一下完整的流程.
可以快速熟悉业务.
然后用个小本本,把系统的主要功能模板记录下来,加深印象.
看项目中的相关文档,系统的架构图,流程图等等,从系统层面有一定的了解.
如果项目有文档,一定要多看看.
可以帮助我们快速熟悉项目.
项目的文档就像是项目的说明书一样重要,可以帮我们少走很多弯路.
通过业务架构图,我们可以知道项目的业务模块是如何划分的,哪些是公共的功能,哪些是重要的功能.
通过技术架构图,我们可以知道项目使用的技术栈,服务之间的依赖情况,项目和一些中间件的部署情况.
通过流程图,可以快速熟悉业务流程.
对着系统中页面功能,查看调用的接口.
通过接口的url地址,可以在项目中快速找到相关代码.
在哪些页面,哪些业务场景下,需要调用哪些接口.
搞清楚核心的接口,以及核心的代码有哪些,可以做个笔记.
输入参数和输出参数,大概是什么样的.
有没有统一的封装或者规范.
查看数据库的表结构,梳理表之间的关联关系,最核心的表有哪些.
我们刚开始,没必要一次性把所有表的关联关系和字段都搞清楚.
这样过段时间,很容易忘记.
我建议先熟悉核心功能的表结构、它所关联的表、和主要字段有哪些.
可以用PowerDesginer画一下表之间的ER图(数据库关系模式图).
更加清楚直观.
想快速熟悉项目中的代码,可以先从修复BUG开始,有个切入点,可以快速熟悉相关业务和代码.
通过修复BUG的方式,可以倒逼自己把相关代码看懂,否则BUG不一定解决的了.
当然BUG也分了等级:
我先从简单的BUG开始修复.
跑一下项目的编译、运行和部署的完整流程,有助于自己快速熟悉在公司中项目的开发、编译、运行、测试和部署流程.
然后逐步开始修复中等和复杂的BUG.
能够不断提升信心.
如果一开始上来就修复复杂的BUG,有可能一天都解决不了问题,会增加挫败感.
前面使用过系统的功能,并且也阅读了项目的源代码,修改了BUG.
接下来,可以尝试着自己梳理一下业务,画一下相关流程图.
推荐大家使用:draw.io和processon,这两个免费的在线画图工具画流程图.
画完之后,会自动保存下来.
如果项目组中,还有其他熟悉这个项目的同事,可以发给他们帮你review一下.
能够及时发现一些问题,立刻修正.
过一段时间,如果你忘记了某些流程,可以回来查看这些流程图,可以帮助我们快速恢复记忆.
排查和定位线上问题,有助于深入理解业务逻辑.
一般需要我们对业务逻辑和代码有一定的熟悉之后,再去定位线上问题比较合适.
如果第一天接触,就开始定位线上的紧急问题,估计会够你喝一壶的.
定位线上问题,一般需要查看日志,查看监控和数据库数据,还需要查看相关代码,将掌握的信息综合起来, 排查问题.
定位线上问题,有助于积累项目经验.
有助于深入理解业务逻辑和代码.
如果有一定的经验了,后面遇到相同的问题,就能够非常快速定位和解决了.
通过前面几步,我们已经对业务流程、表设计、相关代码都熟悉起来了.
接下来,可以尝试开发更复杂的功能.
在开发之前,先要把需求文档彻底搞清楚,避免后面返工,更浪费时间.
如果你们公司有开发规范,在开发之前,可以先阅读一下开发规范,按照公司规定的规范来编写代码.
如果公司没有制定开发规范,可以按照之前的风格编写代码.
如果之前的代码写的不太优雅,可以根据自己的规范来编写更加规范的代码.
如果到了这个阶段,说明你对新项目,已经完全上手了.
如果这篇文章对您有所帮助,或者有所启发的话,帮忙扫描下发二维码关注一下,您的支持是我坚持写作最大的动力。 求一键三连:点赞、转发、在看。 关注公众号:【苏三说技术】,在公众号中回复:进大厂,可以免费获取我最近整理的10万字的面试宝典,好多小伙伴靠这个宝典拿到了多家大厂的offer.
最后此篇关于如何快速上手一个新项目?的文章就讲到这里了,如果你想了解更多关于如何快速上手一个新项目?的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我有一个 Outlook 加载项,它是一个新的功能区选项卡,它连接到我的服务器数据库,用于将一些自定义数据与 Outlook 对象相关联。 此功能区选项卡目前显示在邮件项目中。 我正在扩展它以在任务和
我已经使用 MVC 从头开始创建了多个站点,但现在我的任务是迁移项目。 目前该站点有一个大型静态文件库 (*.html)。最终每个页面都将迁移到带有 View 和 Controller 的 MVC
我已经使用 Netbeans 几个月了并且非常喜欢它。我正在尝试启用一种方法来创建一个项目,该项目访问我服务器上的实时文件以进行更改。当我使用远程源创建项目时,它开始将所有服务器文件下载到我的计算机。
我想创建一个java项目(非Web)来利用Spring的特性,如依赖注入(inject)、事务数据、 Autowiring 等, 我想使用的一些功能: @服务 @Autowired @存储库 @事务性
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我正在尝试在 Windows 10 上使用 Angular-cli 创建一个 Angular 4 项目。 我按照https://www.npmjs.com/package/@angular/cli中提
我正在开发小型 Android 应用程序,我想在 ListView 上显示新添加的项目。我正在从存储在 ArrayList>() 中的数据库中获取项目。因为我使用了 SimpleAdapter 。我将
我在商店中有一个带有 CoreData 模型的应用程序,我想完全更改该应用程序(删除一些垃圾、组织、新的 CoreData 模型...等)。 所以我想重新开始并创建新项目,当我尝试将商店中的旧应用程序
全新安装 Phoenix,我尝试触发一个新项目,当我尝试运行服务器时,我遇到了: Unchecked dependencies for environment dev: * gettext (Hex
在安装了必要的包“node.js”后,我试图创建一个新的 react 项目,我按照教程中的指导运行了用于创建应用程序的代码,但应用程序没有创建。这是收到的错误消息。 $ npm install -g
我想听听你的建议。可以添加新项目以右键单击 OSX 吗?例如,我在 safari、TextEdit、Notes、Pages、Preview 中选择任何单词,我想将这个单词发送到服务器并获得响应。有可能
我正在尝试创建一个新项目,并且我想使用 NHibernate(特别是 Fluent NHibernate)。 我学习一项新技术的最大问题就是设置它,我在这方面遇到了很多困难。我开始看这个 (http:
我正在开始我的第一家独立营利企业。我很难决定使用哪种语言。我想用 Perl 编写我的应用程序,但我认为编译起来不够简单。如果我不用 Perl 编写,我会用 C++ 编写。 该应用程序将具有许多功能,包
我在工作中开始一个新的客户端/服务器项目,我想开始使用一些我一直在阅读的新技术,LINQ 和泛型是主要技术。到目前为止,我一直在使用 MySQL 开发这些类型的应用程序,因为客户不愿意为 MSSQL
我要为我的另一半开始一个项目;根据特定标准搜索考古图像的能力。 搜索这些条件的能力就在我的街道上,一个与某些元数据相关联的图像(或其文件路径)数据库。该界面将允许搜索元数据,然后显示带有缩略图 Vie
我觉得我要为此疯狂了。 我正在尝试使用 Foundation 5 开始一个新项目,但我遇到了一个与我的 git 存储库相关的非常奇怪的问题。我之前一直在使用 Foundation 4,我已经检查过我是
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题吗? 更新问题,以便 editing this post 提供事实和引用来回答它. 关闭 5 年前。 Improve
当我在 Intellij 中创建一个新项目时,我收到了这些错误消息,我真的不知道如何缓解或解决这个问题。 我目前使用的是 Intellij IDEA 15 有人知道这个错误吗? Unknown Err
我会假设这只是意味着我缺少依赖项,但我无法创建任何类型的项目(控制台应用程序、Web 应用程序、Windows 窗体等)。我正在运行 VS 2012 premium。 最佳答案 您可能正试图将您的项目
摘要 有人知道当建议中不存在输入的内容时如何让 UI Fabric React TagPicker 添加新项目吗? 我还想向服务发送 AJAX 请求,以便在后端添加新项目。 所需功能 当有人在选择器中
我是一名优秀的程序员,十分优秀!