ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# 核对表:关于调试的建议 ## 寻找缺陷的方法 - [] 使用所有可用数据来构造你的假设。 - [] 不断提炼产生错误的测试用例。 - [] 在自己的单元测试族中测试代码。 - [] 借助可以获得的任何工具。 - [] 用不同的方式重现错误。 - [] 通过产生更多的数据来构造更多的假设。 - [] 利用证伪假设的测试结果。 - [] 用头脑风暴的方式找出可能的假设。 - [] 在桌上放一个记事本,把需要尝试的事情列出来。 - [] 缩小被怀疑有问题的代码区域。 - [] 对之前出现过问题的类和子程序保持警惕。 - [] 检查最近修改的代码。 - [] 扩展被怀疑有问题的代码区域。 - [] 采用增量集成。 - [] 检查常见的缺陷。 - [] 和其他人一起讨论你的问题。 - [] 抛开问题休息一下。 - [] 在使用快速肮脏调试法的时候,要设置一个时间上限。 - [] 列出所有的蛮力调试方法,逐条应用。 ## 解决语法错误的方法 - [] 不要太信任编译器信息中给出的行号。 - [] 不要太信任编译器信息。 - [] 不要太信任编译器所给出的第二条出错信息。 - [] 分而治之,各个击破。 - [] 使用具有语法分析功能的编辑器来找出位置错误的注释和引号。 ## 修正缺陷的方法 - [] 在动手之前先理解程序。 - [] 理解整个程序而非具体问题。 - [] 验证对错误的分析。 - [] 放松一下。 - [] 要保存最初的源代码。 - [] 治本,而非治标。 - [] 只有当理由充分的时候才去修改代码。 - [] 一次只做一个改动。 - [] 检查自己所做的修订。 - [] 添加单元测试来暴露代码中的缺陷。 - [] 找出类似的缺陷。 ## 调试的一般方法 - [] 你是否会把调试看做是能让你更好地理解程序、错误、代码质量和解决问题方法的良机? - [] 你是否会避免采用随机尝试查找错误或迷信式的调试方法? - [] 你是否假设错误是你自己造成的? - [] 你是否使用了科学的方法将间歇性的错误稳定下来? - [] 你是否使用了科学的方法来寻找缺陷? - [] 你在寻找缺陷的时候会使用多种不同的方法么?还是每次都是用相同的方法? - [] 你会验证你的修改是否正确么? - [] 你会在调试中使用编译器警告信息、执行性能分析、利用测试框架和交互式调试方法么?