如果您的程序有问题,是否会使用某种科学方法来解决这个问题?当我遇到程序问题(不是调试或语法错误)时,我发现自己正在做这样的事情。
但我还没有在互联网上看到有关编程中sci方法的任何内容。是否有特定的计算机编程诊断方法?如果不是如何解决复杂程序的特定问题?
答案 0 :(得分:1)
科学方法意味着经验。是的,所有调试,发现有问题的地方,瓶颈,虫子等等都是经验性的,所以是的,在软件开发的所有阶段都使用科学方法。
确保系统存在(无)问题的方法之一是编写测试(自动化实验)。可能有单元或集成测试。但是,如果按合同设计应用程序,则可以将系统中的所有模块分离,并仅直接(通过"接口")相关的模块对进行测试。因此,遵循数学归纳原理,如果集合中的任何两个元素共享相同的行为/属性,则集合中的所有元素都会执行:如果您编写好测试,最终将无法证明存在错误您的系统与系统中没有错误相同。
如果你使用git,有一个命令git bisect
使用二进制搜索算法来帮助你找到引入问题的提交。
无论您使用何种方法,您都会发现它们都基于"实验"和/或观察,所以他们遵循科学方法。