3分钟,教你快速熟悉新项目!
扫描二维码
随时随地手机看文章
如何快速熟悉一个对你来说完全陌生的项目?这可能是很多人都会遇到的难题。但如果掌握了方法论,它也可以是一道加分题。
最近有位粉丝朋友也遇到了同样的问题,寻求我的意见,其实我和大家一样,走了不少弯路。痛定思痛,程序喵总结了下自己之前熟悉新项目的心路历程,尝试着“在巨人的肩膀上”总结出一套方法论,希望对大家有帮助!
01
业 务 理 解
不 要 一 上 来 就 看 代 码!
CSDN上,关于“程序员 业务理解 重要”的搜索结果有20页,洋洋洒洒,有老程序员的踌躇,也有新程序员的困惑。
了解一个项目,首先要了解其业务,很多技术人(尤其是小年轻)都专注于编程技术的学习与沉淀,却忽略了对业务的理解。
事实上,技术无论多么高超终究还是为业务服务的,很多公司(不乏阿里这种大公司)在面试候选人时,也会重点考察面试者对业务的理解。不同的行业,不同的公司,业务逻辑也不一样,高级工程师不仅技术NB,也更懂得怎么用技术驱动业务。
那么你要问了,啥是业务理解?
我建议大家可以从寻找下面这些问题的答案入手,如果你搞懂了80%,你也就明白了业务的意义。
-
这个项目是做什么的?谁是我们的用户?和同类项目比,我们有哪些差异或优势?
-
项目的负责人是谁?项目的参与者都有谁?项目的上下游都有哪些?是公司的其它部门还是外部用户?尝试找到熟悉项目的人,等自己遇到问题的时候就可以抓到人去请教。 -
尝试着了解项目的主要功能都有什么? -
项目的遗留问题,目前面临的问题,以及将来的规划。只有了解了项目的相关业务,了解的项目的整体流程,对整体有所把握,之后看代码时才会有方向。
Tips:
可以先向熟悉项目的人请教业务流程,熟悉项目相关的所有资料:产品功能架构图,业务流程图,功能图,用例图,需求文档,设计文档,运营手册等。
02
技 术 学 习
了解完项目的整体流程,就可以开始看代码啦!
-
了解项目的编译环境和运行环境。 -
找到项目的架构图,了解项目的子系统和子模块,以及它们之间的关系。 -
根据运行效果和项目的架构图,在代码中找到每个效果、每个子系统在代码中的对应位置。 -
弄清楚项目的关键输入和输出都有什么? -
项目有哪些配置文件,都是什么格式? -
项目有没有接入第三方SDK,接入的第三方SDK提供了什么能力。 -
项目使用了什么框架,什么中间件,什么工具包。
03
实践强化
当我们熟悉了项目相关的业务,项目的主要流程,并了解了项目相关功能的代码后,可以尝试着去实践强化。以一个小需求做为切入点,这个需求可以是产品提出的需求,也可以是自己提的需求,如有没有小bug可以修,或是代码中有没有可以优化的代码,重构一些有缺陷的代码,把这些作为切入点,自己动手编码,调试,测试和发布,让自己对项目更加熟悉,实践出真知,个人认为只看代码不如多动手实践。
04
多思考
熟悉了代码后,我们不妨多做一些思考,
项目架构为什么这么设计?
为什么要接入这个SDK?
为什么要用这个中间件?
项目目前有哪些坑?
项目有没有些可以优化的地方?
这些思考不仅可以帮助我们加深对项目和业务的理解,同时也有助于提高架构能力。
总结
业务理解+技术学习+时间强化+多思考
参考资料
https://zhuanlan.zhihu.com/p/135411056
https://blog.csdn.net/CLG_CSDN/article/details/99713903
https://www.reddit.com/r/learnprogramming/comments/2x4nq8/how_to_get_familiar_with_an_existing_project_from/
往期推荐
|
|||
|
|||
|
|||
|
免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!