作者回复: 感谢分享。 其实有时候那些担心单元测试会耽误时间的人,他们的心情也可以理解,因为开发人员普遍不具备快速写出单元测试的能力。如果一个2天开发工作量的需求,单元测试的编写时间只有2个小时,恐怕就没有人会担心单元测试影响开发进度了。
作者回复: 遗留系统现代化的过程中肯定是要有测试这个环节的,只不过这部分被放到了代码现代化里,因为遗留代码通常都是无法直接写测试的,所以要先进行可测试化重构,才能补上测试。
作者回复: 请问是否尝试过给代码添加测试呢?
作者回复: 但是不要轻视技术哦,认知帮我们认识问题和想出解决方案,但真正落地时,还是要靠技术的。
编辑回复: 学习加油
作者回复: 其实vendor的产品如果现在无法得到后续服务了,跟遗留系统是一样的(没有人熟悉),你可以试读一下后面的内容,应该对你有所帮助。 PS:没有代码版本管理的话,就从现在开始加上吧,这个没难度的。
作者回复: 那就是对他来说,还没有意识到潜在的风险和切身的痛点,或者从业务角度痛点也还没有那么大。可以好好跟他聊聊,把开发过程中各种痛点一一列出来,并说明未来业务上会带来的隐患。有时候现在没有痛点并不代表一直没有痛点,现在改可能还来得及,未来真痛了再改,可能来不及了。
作者回复: 感谢分享。 我没有参与过嵌入式开发,不过倒是接触过一些需要跟大量外接设备协同的软件系统。我的经验是把与外部设备交互的部分提取成接缝(可以理解为接口,后面课程会介绍),然后在单元测试中,用测试替身来替换这些外部设备。这一点还是可以做到的。 至于第二个问题,我认为先进的软件系统就是那些以先进的软件开发思想构建起来的,不断迭代演进的软件系统。