我已经开始研究整个单元测试/测试驱动开发的概念,而我越来越想,它似乎填补了静态类型检查的类似角色。两种技术都提供编译时的快速响应,检查程序中特定类型的错误。然而,如果我说错了,请纠正我,但似乎拥有完整覆盖的单元测试套件会测试所有静态类型检查所检测到的东西,以及更多其他的东西。换句话说,静态类型检查只能花很少的力气去“证明”你的程序是正确的,而单元测试则可以让你“证明”更多(在一定程度上)。
那么,如果你同时使用单元测试,是否有使用静态类型检查语言的理由?一个类似的问题被问到了这里,但我想更深入地探讨。静态类型检查相对于单元测试有哪些具体优势(如果有)?一些问题比如编译器优化和智能感知已经出现在我们的脑海中,但是否有其他解决这些问题的办法?还有其他的优缺点我没有想到的吗?