(游戏)编程统论|如何更好的提问
在写代码的途中,我们难免会遇到一些解决不了的bug或者迷惑的问题,像他人求助便是解决问题最有效的方式之一。而提问题本身也是一门艺术;如何更好,更有条理地规划自己的问题,提高debug效率成为了敲代码乃至学习的重要技能之一
[第一步] - “小黄鸭{1}调试法” Rubber Duck Debugging
遇到了棘手的bug,先不要着急求助;bug 往往并没有想象中的复杂,它只是一些语法错误或者简单的逻辑错误,藏在你所忽略的地方。而向他人(物)解释自己的问题便是处理这种问题最好的方式。当你投入地讲解问题的时候,往往就是灵光一现的时候。
{1}这里的“小黄鸭”是作为倾听对象,TA可以是你的玩偶、手办、好友或者是npy。如果你造诣够深的话,自言自语也是没有问题的
方法:
1.向小黄鸭清晰地解释出你现在所遇到的问题
2.向小黄鸭讲解代码和你的思路
3.通过debug 日志表或控制台获取有效信息,推测可能导致bug的原因
4.针对你的推测,尝试用三种方法来debug
[第二步] - 问题的格式Quesion Structure
想让他人清楚快速地明白你的问题,给予帮助,答题要求和格式是必不可少的。
答题格式:
1.期望的效果
2.实际运行的效果
3.实现的方式
4.你已经尝试过的方法
5.相关信息
(1)期望的效果:字面意思,你希望这段代码运行出来是什么样的
(2)实际运行的效果:字面意思,实际运行这段代码所呈现出来的结果(如果有报错和日志表可以适当截图备注)
(3)实现方式:你是如何一步步实现你的目标效果(不用插入代码)
(4)已尝试过的办法:可采用[第一步]第四点中的三种debug方法
(5)相关信息:如编辑器、引擎的版本号,实现代码{2}等
{2}实现代码:建议使用 gist.github.com{3}中的“代码要点”功能来插入代码,避免问题过于杂乱
{3}注:gist.github.com在国内已被墙,建议用bitbucket或snippets替代(摘自知乎,作者尚未试过这两种方式)
[注意事项&建议]
1.关于截屏与代码
·在且只在必要的时候进行截图备注,避免通篇图片或只有描述的情况
·在插入代码时,尽量使用上文{2}{3}的方法
2.其他建议
·取一个有细节的标题
·保持活跃:及时追问,及时响应答复
·标注置顶答案:在解决问题后,记得把那个答案置顶(即使是你自己解决的),这样能帮助更多人解决问题,避免他人浪费时间
·帮助他人解决问题:“教学相长也” 帮助他人也是成长的重要环节,既能巩固自己的知识,又能开阔眼界,并通过他人的提问方式来不断完善自己的提问格式
*主要思路源于https://bilibili.com/video/BV1t4411r7Ud?p=8
码字不易,欢迎分享,转载请标注原作者

浙公网安备 33010602011771号