热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

如何快速了解一个系统

引言:有时候我们开发项目不是从项目一开始就参与的,那么,如何在项目进行到一半时,尽快的了解并上手这个项目,或者在项目已经完成的情况下,如何进行重构优化维护,这些都需要我们尽快了解项目。-
引言:

       有时候我们开发项目不是从项目一开始就参与的,那么,如何在项目进行到一半时,尽快的了解并上手这个项目,或者在项目已经完成的情况下,如何进行重构优化维护,这些都需要我们尽快了解项目。


------------------------------------------------------------------------------------------------------------------




1. 「当个小白」

       把自己当做用户吧,看看自己的需求是什么,自己的问题是什么。这个会从宏观上决定你的大方向不会走偏,同时也可以很好的帮助你了解这个系统是干嘛的。

从用户的角度出发,我是干什么的,我平时都要做哪些事情,我现在有哪些问题需要解决,这个系统能帮我做哪些事情,这个系统用的是否容易上手……在这个体验的过程中,相信你就会清楚自己要干什么了。


2. 「开发文档 & 数据库」

       目前个人认为,熟悉数据库是很快捷的一个方式。

       因为数据库是根据需求来的,那些表,字段是不会无缘无故冒出来的,相信前面的程序员也是费了一些心思根据需求设计的。而且,从代码来看,实现方式多种多样,但是数据库还是比较固定的,各种逻辑功能都是以它为基础建立的。理清楚这些表的结构关系,每个字段的意义,这个系统你也就了解的七七八八了。

       当然,开发文档,交接文档,这些前人留下来的资料也是很好的参考资料。而且,有时候, 本人指导也不如文档来的实际,因为本人记得没他文档记得全,同时文档的信息不会失真。


3. 「 模式 | 框架  | 架构 | 平台 」

       很多时候项目难以上手的原因也在于不了解的项目中的设计模式、框架、架构、平台。

       因为你可能知道每句代码是什么意思,但是放在一起就不知道它们在干什么。或者你知道它们在干什么,但是不知道为什么要这么写。如果让你写代码,你不知道怎么从哪里写,写些什么。

       这时候你就需要知道,这个系统用什么设计模式了?为什么要用这个设计模式?这个系统的架构是什么?在这个架构上如何实现功能的?以及自己是否熟悉这个框架,这个平台。如果其中有不熟悉,查资料,看视频,尽快的去掌握这些。


4. 「走一条线」

       很多人会说,走一条线你就明白这个系统了。

的确,在你上面的基础打好了之后,通过熟悉系统中的源代码。走几条线是一个很好的方法。上面的内容很像是理论,而这个就很像是动手实践了。

       关于理论和实践,结合起来是一个很好的办法。这里我的个人经历就是,理论有时候过于抽象枯燥,难以结合实际;而实践有时候难以明白原理,或者与一反三。这时候,理论联系实践也需要结合自己的情况进行优化,可以上来简单的实践明白难点,提出问题,为理论学习提供方向,理论学习中也可以不断实践,验证自己的成果。

       至于这个节奏,需要自己探索。


5. 「研究技术难点」

       在上面的内容都完成之后,就可以上手开发或维护了,如果还是不知道怎么写,照着之前的代码写一条线就OK了。现在来说,应该可以说已经上手了。至于业务范围内的具体技术难点,自己研究就好了。




------------------------------------------------------------------------------------------------------------------


小结:

       这里只是提供一个简单的流程以作参考,相信在做过一些项目之后,这些已经成为一种本能或者习惯。如果你是技术大牛,有多年工作经验的人,可能只需要了解一下需求,简单走一遍代码,就可以很好的上手了。所以,如果说经验较少,自己很不了解要做的项目,难以下手,可以参考一下流程,看看自己在什么问题上止步不前。

       最后,希望通过不断的总结,将一些事情具体流程化,从而不断自己的效率。



推荐阅读
  • PHP 编程疑难解析与知识点汇总
    本文详细解答了 PHP 编程中的常见问题,并提供了丰富的代码示例和解决方案,帮助开发者更好地理解和应用 PHP 知识。 ... [详细]
  • 国内BI工具迎战国际巨头Tableau,稳步崛起
    尽管商业智能(BI)工具在中国的普及程度尚不及国际市场,但近年来,随着本土企业的持续创新和市场推广,国内主流BI工具正逐渐崭露头角。面对国际品牌如Tableau的强大竞争,国内BI工具通过不断优化产品和技术,赢得了越来越多用户的认可。 ... [详细]
  • 本文深入探讨了一家企业的制度体系重构与升级过程,通过具体案例展示了如何在战略意图和管理理念指导下,系统性地提升企业管理制度的有效性和可操作性。 ... [详细]
  • 如何优化2060显卡设置以提升《Apex英雄》游戏体验
    《Apex英雄》作为一款热门的战术竞技游戏,吸引了大量玩家。本文将探讨如何通过优化GeForce RTX 2060显卡设置,确保在《Apex英雄》中获得最佳性能和流畅的游戏体验。 ... [详细]
  • 本章将深入探讨移动 UI 设计的核心原则,帮助开发者构建简洁、高效且用户友好的界面。通过学习设计规则和用户体验优化技巧,您将能够创建出既美观又实用的移动应用。 ... [详细]
  • 本文详细探讨了Netty中Future及其子类的设计与实现,包括其在并发编程中的作用和具体应用场景。我们将介绍Future的继承体系、关键方法的实现细节,并讨论如何通过监听器和回调机制来处理异步任务的结果。 ... [详细]
  • 如何在PostgreSQL中查看数据表
    本文将指导您使用pgAdmin工具连接到PostgreSQL数据库,并展示如何浏览和查找其中的数据表。通过简单的步骤,您可以轻松访问所需的表结构和数据。 ... [详细]
  • 本文详细介绍了macOS系统的核心组件,包括如何管理其安全特性——系统完整性保护(SIP),并探讨了不同版本的更新亮点。对于使用macOS系统的用户来说,了解这些信息有助于更好地管理和优化系统性能。 ... [详细]
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
  • Ralph的Kubernetes进阶之旅:集群架构与对象解析
    本文深入探讨了Kubernetes集群的架构和核心对象,详细介绍了Pod、Service、Volume等基本组件,以及更高层次的抽象如Deployment、StatefulSet等,帮助读者全面理解Kubernetes的工作原理。 ... [详细]
  • 该平台旨在为大型企业提供一个高效、灵活且可扩展的分布式微服务架构解决方案。它采用模块化、微服务化和热部署的设计理念,结合当前最先进且无商业限制的主流开源技术,如Spring Cloud、Spring Boot2、MyBatis、OAuth2和Element UI,实现前后端分离的系统管理平台。 ... [详细]
  • 从零开始构建完整手机站:Vue CLI 3 实战指南(第一部分)
    本系列教程将引导您使用 Vue CLI 3 构建一个功能齐全的移动应用。我们将深入探讨项目中涉及的每一个知识点,并确保这些内容与实际工作中的需求紧密结合。 ... [详细]
  • Hadoop入门与核心组件详解
    本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ... [详细]
  • 解决IIS无法访问映射网络驱动器的问题
    探讨IIS在尝试访问映射的网络驱动器时遇到的问题及其解决方案,包括配置和权限设置等方面的详细分析。 ... [详细]
  • 阅读本文大约需要3分钟。微信8.0版本的发布带来了许多令人振奋的新功能,如烟花特效和改进的悬浮窗,引发了用户的热烈反响。 ... [详细]
author-avatar
mobiledu2502883463
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有