#162、#163、#164

This commit is contained in:
Aynxul03 2022-08-04 21:44:16 +08:00 committed by GitHub
parent 7f6d5a61e3
commit bc9c2af457
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -372,11 +372,11 @@ Stack Exchange 已经成长到[超过一百个网站](https://stackexchange.com/
要理解专家们所处的世界,请把专业技能想像为充裕的资源,而回复的时间则是稀缺的资源。你要求他们奉献的时间越少,你越有可能从真正专业而且很忙的专家那里得到解答。
所以,界定一下你的问题,使专家花在辨识你的问题和回答所需要付出的时间减到最少,这技巧对你有用答案相当有帮助 —— 但这技巧通常和简化问题有所区别。因此,问`我想更好地理解 X可否指点一下哪有好一点说明`通常比问`你能解释一下 X 吗?`更好。如果你的代码不能运作,通常请别人看看哪里有问题,比要求别人替你改正要明智得多。
所以,界定一下你的问题,使专家花在辨识你的问题和回答所需要付出的时间减到最少,这技巧对你获得有用答案相当有帮助 —— 但这技巧通常和简化问题有所区别。因此,问`我想更好地理解 X可否指点一下哪有好一点说明`通常比问`你能解释一下 X 吗?`更好。如果你的代码不能运作,通常请别人看看哪里有问题,比要求别人替你改正要明智得多。
### 询问有关代码的问题时
别要求他人帮你调试有问题的代码,不提示一下应该从何入手。张贴几百行的代码,然后说一声:`它不能工作`会让你完全被忽略。只贴几十行代码,然后说一句:`在第七行以后,我期待它显示 <x>,但实际出现的是 <y>`比较有可能让你得到回应。
如果没有提示别人应该从何入手,别要求他人帮你调试有问题的代码。张贴几百行的代码,然后说一声:`它不能工作`会让你完全被忽略。只贴几十行代码,然后说一句:`在第七行以后,我期待它显示 <x>,但实际出现的是 <y>`比较有可能让你得到回应。
最有效描述程序问题的方法是提供最精简的 Bug 展示测试用例bug-demonstrating test case。什么是最精简的测试用例那是问题的缩影一小个程序片段能**刚好**展示出程序的异常行为,而不包含其他令人分散注意力的内容。怎么制作最精简的测试用例?如果你知道哪一行或哪一段代码会造成异常的行为,复制下来并加入足够重现这个状况的代码(例如,足以让这段代码能被编译/直译/被应用程序处理)。如果你无法将问题缩减到一个特定区块,就复制一份代码并移除不影响产生问题行为的部分。总之,测试用例越小越好(查看[话不在多而在精](#话不在多而在精)一节)。
@ -424,7 +424,7 @@ Stack Exchange 已经成长到[超过一百个网站](https://stackexchange.com/
问题解决后,向所有帮助过你的人发个说明,让他们知道问题是怎样解决的,并再一次向他们表示感谢。如果问题在新闻组或者邮件列表中引起了广泛关注,应该在那里贴一个说明比较恰当。
最理想的方式是向最初提问的话题回复此消息,并在标题中包含`已修正``已解决`或其它同等含义的明显标记。在人来人往的邮件列表里,一个看见讨论串`问题 X``问题 X - 已解决`的潜在回复者就明白不用再浪费时间了(除非他个人觉得`问题 X`有趣),因此可以利用此时间去解决其它问题。
最理想的方式是向最初提问的话题回复此消息,并在标题中包含`已修正``已解决`或其它同等含义的明显标记。在人来人往的邮件列表里,一个看见讨论串`问题 X``问题 X - 已解决`的潜在回复者就明白不用再浪费时间了(除非他个人觉得`问题 X`有趣),因此可以利用此时间去解决其它问题。
补充说明不必很长或是很深入;简单的一句`你好,原来是网线出了问题!谢谢大家 Bill`比什么也不说要来的好。事实上,除非结论真的很有技术含量,否则简短可爱的小结比长篇大论更好。说明问题是怎样解决的,但大可不必将解决问题的过程复述一遍。