掌握聚合最新动态了解行业最新趋势
API接口,开发服务,免费咨询服务

如何做出最小化、完整、可验证的问题示例

 要想找到代码所导致的问题,最好的方法就是用代码重现这个问题,而这些代码应该有以下的特性:

  •  最小化——用尽可能少的代码重现相同的问题
  •  完整——提供重现该问题的所有部分
  •  可验证——对这些代码进行测试,确保它可以重现问题

最小化

代码体量越大,找到问题所在的难度就越高。你可以在下面两个方法中选择一个,来创建你的示例:

  1.  从头做起:创建一个新的程序,只添加哪些能让你看到问题的代码。如果你已经找到了是哪些代码出现了问题,而且项目本身的代码体量特别大,这个方法会帮你节省大量的时间。另外,如果你因为法律原因不能公开发布源代码,也可以使用这个方法。
  2.  逐个击破:如果项目的代码数量不算多,而且你也不知道哪里出了问题,你可以分步骤的删除一些代码,直到问题消失,以此来进行问题代码排查。

最小化与可读性

最小化和简陋不是一回事,不要为了简洁而牺牲可读性。你依然应该使用连贯的命名和正确的代码缩进,在必要的时候也要添加代码说明。大多数代码编辑器都有自动安排格式的快捷键,要使用它们。不要使用tab,它可能会让代码在你的编辑器里看上去很漂亮,但是在Stack Overflow上显示的时候可能会特别乱。

完整

确保包含所有与问题有关的代码:

  •  一些人可能要对所有与问题相关的代码进行测试,用这种方式来寻找问题。
  •  有的时候你的推测并不完全准确,问题可能并不在你怀疑的代码中,而是在其他一些相关的代码中。

如果该问题需要你提供一些服务器端代码以及基于XML的配置文件,那就把他们都放进去。如果一个与页面相关的问题需要你提供HTML、JavaScript和样式表,那就把它们都放进去。

可验证

为了帮你解决问题,一些人可能会需要验证这个问题的存在:

  •  问题描述。“无法使用”这四个字不能算是问题描述。你应该告诉我你的期望行为、错误提示信息内容、以及那一行代码导致了这个问题。你应该在问题的title中提供简短的描述。
  •  移除所有与问题无关的东西。如果你的问题与编译器错误无关,那就确保你提的问题里没有 compile-time错误。使用JSLint等程序对编译后的语言进行验证。对所有HTML或是XML进行验证。
  •  确保你提供的示例能够重现该问题。有的时候你在写示例的时候会在不经意间修复了问题,这个时候其他人就无法重现该问题。因此在写好示例的时候,你应该对示例也在进行一次测试,看看问题是不是依然会出现。

有的时候,你可能还需要重启系统,或是将示例发到另外一台机器上进行测试,以此来验证问题能够被重现。

qrcode_for_gh_9de197bcc61b_258.jpg

原文来自:SDK.cn

声明:所有来源为“聚合数据”的内容信息,未经本网许可,不得转载!如对内容有异议或投诉,请与我们联系。邮箱:marketing@think-land.com

  • 研学创作

    包含研学创作(大纲)和研学创作(全文)

    包含研学创作(大纲)和研学创作(全文)

  • 调研综述

    通过请求综述题目、指定文献ID集合、生成模式及学科名称,以流式方式返回生成的调研综述全文及引用的参考文献信息。

    通过请求综述题目、指定文献ID集合、生成模式及学科名称,以流式方式返回生成的调研综述全文及引用的参考文献信息。

  • 智能选题

    通过请求问题内容、学科名称及选题目的,返回包含中英文题目、推荐理由、多维度评分及相似文献的智能选题推荐结果。

    通过请求问题内容、学科名称及选题目的,返回包含中英文题目、推荐理由、多维度评分及相似文献的智能选题推荐结果。

  • 学术对话

    通过自然语言请求,选择以流式或非流式方式返回模型生成的对话回复及相关的参考文献引用信息。

    通过自然语言请求,选择以流式或非流式方式返回模型生成的对话回复及相关的参考文献引用信息。

  • 会议文献检索及详情

    包含会议文献和会议文献详情

    包含会议文献和会议文献详情

0512-88869195
客服微信二维码

微信扫码,咨询客服

数 据 驱 动 未 来
Data Drives The Future