• 听水的湖
    置顶
    2022-05-13
    大家好,我是遗留系统专栏的编辑小新。 老师的开学典礼直播回放已经上传B站,传送门如下: https://www.bilibili.com/video/BV1a3411N7hP?spm_id_from=333.999.list.card_archive.click 有兴趣的可以拓展学习一下(记得一键三连哦)。
    
    4
  • Bradly
    置顶
    2022-04-12
    旧系统遇到瓶颈,正处在现代化阶段,真是及时雨。
    
    8
  • 2022
    2022-04-24
    我们公司也没有单元测试,在项目开始前期的时候一般计划要搞,但是每个项目的时间安排的太紧,几乎每个项目都延期,只好压缩单元测试的时间,直接进入测试集成阶段,由测试部人工测试,。这么多年了,都没搞起来。 现在好多旧模块的代码都超过600行,都不敢改,怕改动引发,心累..

    作者回复: 感谢分享。 其实有时候那些担心单元测试会耽误时间的人,他们的心情也可以理解,因为开发人员普遍不具备快速写出单元测试的能力。如果一个2天开发工作量的需求,单元测试的编写时间只有2个小时,恐怕就没有人会担心单元测试影响开发进度了。

    共 2 条评论
    4
  • escray
    2022-04-13
    有一点好奇,遗留系统现代化的过程中可以没有测试么? 架构和团队结构的现代化相对来说比较务虚,代码和 DevOps 现代化就是真正的硬骨头了。 现在 Thoughtworks 的软件开发方法论在极客时间已经越来越多的被介绍,看上去很美好。 没有测试的代码就是遗留代码。

    作者回复: 遗留系统现代化的过程中肯定是要有测试这个环节的,只不过这部分被放到了代码现代化里,因为遗留代码通常都是无法直接写测试的,所以要先进行可测试化重构,才能补上测试。

    
    3
  • 数学汤家凤
    2022-04-14
    刚入职,接手了一个19年的项目,不算老。但代表质量一言难尽。项目总有一些乱七八糟的小问题,出问题就手动补,都不知道是哪一块儿的问题。

    作者回复: 请问是否尝试过给代码添加测试呢?

    
    2
  • Y024
    2022-04-11
    在更高维度的认知面前技术显得弱小且稚嫩!

    作者回复: 但是不要轻视技术哦,认知帮我们认识问题和想出解决方案,但真正落地时,还是要靠技术的。

    
    1
  • 1043
    2022-11-06 来自北京
    你现在正在做的有问题的代码或构建的系统就是未来的遗留系统……

    编辑回复: 学习加油

    
    
  • sqnv_geek
    2022-05-24
    就职于金融企业,请问如何改造vendor的产品,比如IBM的各种product,不好用,复杂,不好加测试,做CICD,甚至没有代码版本管理 请问有咨询经验share一下吗

    作者回复: 其实vendor的产品如果现在无法得到后续服务了,跟遗留系统是一样的(没有人熟悉),你可以试读一下后面的内容,应该对你有所帮助。 PS:没有代码版本管理的话,就从现在开始加上吧,这个没难度的。

    
    
  • 渠梁
    2022-05-17
    遗留系统一团乱麻,想重构或者改造。可主管不同意,觉得风险和成本都太高了,怎么办

    作者回复: 那就是对他来说,还没有意识到潜在的风险和切身的痛点,或者从业务角度痛点也还没有那么大。可以好好跟他聊聊,把开发过程中各种痛点一一列出来,并说明未来业务上会带来的隐患。有时候现在没有痛点并不代表一直没有痛点,现在改可能还来得及,未来真痛了再改,可能来不及了。

    
    
  • 不会MATLAB
    2022-04-19
    经历了三家嵌入式公司,从下游到上游,嵌入式领域的代码测试可以说相对较少,尤其是单元测试,系统集成测试也很困难自动化(主要有些测试项是需要制作专门的测试设备,例如测试显示屏的输出是否正常),基本都是人工测试,有的厂也只是对一些至关重要的功能环节安排自动化测试设备。希望这门课可以让我对1.如何进行一些跟硬件相关的代码的自动化测试 2.现代先进的软件系统是怎样的整体。这两方面有所收益。

    作者回复: 感谢分享。 我没有参与过嵌入式开发,不过倒是接触过一些需要跟大量外接设备协同的软件系统。我的经验是把与外部设备交互的部分提取成接缝(可以理解为接口,后面课程会介绍),然后在单元测试中,用测试替身来替换这些外部设备。这一点还是可以做到的。 至于第二个问题,我认为先进的软件系统就是那些以先进的软件开发思想构建起来的,不断迭代演进的软件系统。

    
    