• 接手老项目的方法总结


    近期离职同事较多,且老项目也经常出现问题,需要接手的项目和阅读的代码也比较多,这里总结一下遇到的问题,以及一些方法。 

    问题

    一开始就往代码细节上钻

     

    越是复杂的项目,这样做越是悲剧,你可能花费大量时间从代码上层层往下钻,结果却发现对于整体的功能根本无法掌握,最后迷失在源码中,给自己带来压力。
    因为复杂的项目,涉及的业务和逻辑很多,相互之间存在关联关系,仅仅靠代码上去阅读,效率是很低的,而且有些和具体业务结合的代码逻辑,你可能很难了解,即使看懂代码片段的功能,也不知道为什么要这样设计。
    记住:项目不是一个点,而是一个相互关联的面。
    

    不做笔记,不写测试脚本

    我自己很难看过一遍就记住,往往当时理解了,但是过几天就忘记了,后面需要调试时,又得重新做一遍前面的工作,费事又费力。
    笔记和测试脚本,是一劳永逸的工作,其作用随着时间,越来越大。
    

    急于求成

    总想着很短时间就完全掌握,结果没有把握住细节,看似都知道了,真正遇到问题却发现还是无法解决。
    

     

    方法

    第一步,先用产品

    亲自使用产品,多问问产品经理,这是了解项目的第一步
    

    复杂的项目,先从目的和设计入手

    这些内容相当于路标和线,能在大方向上给你指明道路,并帮你将代码片段串联起来。
    越是复杂的项目,其目的和设计占的比重越是重要。
    

    掌握名词的概念

    特别是开发人员在开发过程中确定的一些名词,这有助于阅读代码,将其和具体功能联系起来。
    

    优先了解数据流

    大部分项目,数据都是核心,特别是外部接口,尤为重要
    

    通过单元测试,将复杂项目拆分简化

    项目难,往往是因为不了解,看着一大堆东西,心理上首先就有压力。
    可以通过细致的单元测试进行拆分,一方面有助于理解项目,另外以后出问题了,这些单元测试还可以用于调试。
    

    编写文档

    如果项目没有文档,或者文档不够完善,那么一定要自己补上,今后你肯定会再次用到的。
    编写文字不像说话,耗费的时间会多一些,在打字的过程中,你会花费心思去组织语言和思考,这会让你发现更多的问题(就像我平时不善言谈,但是QQ聊天就比较能说,因为打字能给我思考的时间)。
    

    循序渐进,注意复习

    除非很紧急,否则建议每天了解一些,然后每天思考一下,会发现更多的问题,同时一段持续时间的学习,相当于有个复习的过程,能够帮你巩固这些内容,否则很快就忘记了。
    

    修改代码,查看输出

    这仅限于接口类代码,不适合整个项目
    

    编写记录日志的函数

    在接口类功能的调试中,非常有帮助
    

    一个好用的文件查找工具

    EditPlus的搜索功能很不错
  • 相关阅读:
    RocketMQ同一个消费者唯一Topic多个tag踩坑经历
    1.写一个字符串反转函数.
    1.什么是灰度发布?
    简单比较 @EnableEurekaClient 和 @EnableDiscoveryClient 两个注解
    字符串拼接出现null的问题
    webSocket无法注入bean问题解决方案
    数据库中的时间类型需要指定长度吗?
    SQL语句的优化
    NoClassDefFoundError
    1.代码规范之 if 语句编写
  • 原文地址:https://www.cnblogs.com/zhouchangju/p/3725218.html
Copyright © 2020-2023  润新知