今年2月,我们宣布了一项解决堆栈溢出问题过时答案的计划。以下是我们从那以后所做的以及我们现在正在做的工作的最新情况。
热释光;博士:我们仍在进行各种形式的研究,但我们认为解开公认答案是我们要探索的第一个关键领域。我们听到你大声明确地说不要删除答案。
调查结果:你如何确定接受的答案是过时的
2021年3月,我们在网站满意度调查中添加了几个问题,这是一项每月进行的调查,询问随机选择的用户对堆栈溢出的感受。我们把注意力集中在公认的答案上——带绿色复选标记的答案。部分基于您的反馈,我们询问:
您多久会在堆栈溢出上看到这种过时的答案?
neverrarelysometimesoftenalwaysanswer由于语言或框架等的更新而不再工作。答案仍然有效,但是有一种更新的更好的方法来实现相同的结束答案代码通常被破解现在会带来安全风险或对使用对遗留技术有价值的答案有危险,但对新技术来说没有价值。
在确定答案是否过期时,请选择以下每个因素的重要性。
标题1一点都不重要轻微重要非常重要非常重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要重要参考过时的答案高信誉用户说答案是过时的代码通常是断断续续的引用、引文和文档(例如,过时的语法、过时的文档链接等)
以下是963名受访者的调查结果。
第一个图表显示了用户看到每种过时答案的频率,从“从不”到“总是”
下面是对每种过时答案最常见的回答。
由于语言或框架等的更新,答案不再有效:有时紧跟其后,很少
答案仍然有效,但是有一种新的更好的方法来达到同样的结果:有时,然后是经常
答案代码通常是坏的:很少是目前最流行的
现在会带来安全风险或使用起来很危险的答案:很少,然后是从不
答案对遗留技术有价值,但对新技术没有价值:有时,其次是很少
第二个图表对用户看到每种类型答案的频率进行加权,得出加权平均值。
答案仍然有效,但是有一种新的更好的方法可以达到同样的结果:0.46
由于语言或框架等的更新,答案不再有效:0.34
对传统技术有价值,但对新技术没有价值的答案:0.33
答案代码一般为0.21
现在存在安全风险或使用起来很危险的答案:0.16
第三个图表显示了用户在确定答案是否过时时对各种重要因素进行评分的频率,从“一点都不重要”到“极其重要”
时间戳:最初的回答是:非常重要,然后是中等重要和极其重要
时间戳:上次编辑的时间:非常重要,然后是中等重要
总投赞成票/反对票数:中等重要,其次是轻微重要
更新的答案,高投票分数:非常重要,其次是极为重要
评论说,答案已经过时:非常重要,其次是极其重要
答案上有一个符号说它过时了:非常重要,紧跟其后的是极其重要
其他答案是指过时的答案:中等重要,其次是非常重要
高声誉的用户说答案已经过时了:非常重要,其次是中等重要
代码通常被破坏:非常重要,其次是极其重要
答案参考文献、引文和文档(例如,过时的语法、过时的文档链接等):非常重要,紧随其后的是中等重要
最后一张图对用户选择每个重要级别以产生加权平均值的频率进行加权。
答案上有一个符号表示它过时了:0.31
评论称答案已经过时:0.31
投票得分高的较新答案:0.30
代码通常被破坏:0.29
时间戳:最初回答的时间:0.27
时间戳:上次编辑时间:0.26
答案参考文献、引文和文档(例如,过时的语法、过时的文档链接等):0.26
高口碑用户称答案过时:0.24
其他答案是指过时的答案:0.21
总投票数:0.20
我们分析了2021年2月的meta post
我们将您的答案和评论分类为您希望看到发生的事情的共同主题。以下是您最关心的问题/建议:
不删除旧答案
接受的答案不应首先出现
介绍一个“过时”的横幅应用于过时的答案
允许对答案进行版本标记(例如,java 4、java 7、java 56)
添加新的排序/筛选选项
正在发生:新调查正在运行
从3月31日开始,一直到4月15日,我们在每月的调查中添加了一些问题,以进一步向更多的受众验证一些元建议(请注意:我们不征求对这些问题的反馈。)
我们应该改变答案的排序方式吗?
不,我喜欢当前的类型(即,接受答案总是第一个)。
是,按最高分数对所有答案(包括已接受的答案)进行排序。
是的,按公布时间和最近投票对所有答案(包括已接受的答案)进行排序。
其他(请说明)____________
我们希望对网站进行更改,以帮助找到和处理过时的答案。下表列出了一系列解决方案。您如何评估下面每个潜在解决方案的可取性?
header 1非常不受欢迎UndersirableUndersirableNeutralDesirableVery Desirable手动标记过时的接受答案是可取的。对过时的接受答案进行颜色编码。向过时的接受答案添加“过期”横幅。允许答案上的标记显示版本控制(即python-3.9.0)。创建新的“旧答案”状态以保留过时的答案接受答案。创建一个新的审阅过程来更新过时的接受答案。
即将到来:一个标记过时的公认答案的练习
5月份,我们计划在堆栈溢出上放置临时提示,询问接受的答案是否过期,以及得分最高的、未接受的答案是否优于接受的答案。如果被接受的答案是60天或以上,并且帖子上至少有两个答案,则会出现提示。
我们收集的数据将使我们能够量化过时答案在堆栈溢出上的普及程度,初步了解按分数排序是否比固定接受的答案更好,并为潜在的机器学习算法提供初始训练样本。
4条答案
按热度按时间z5btuh9x1#
我不确定标签或颜色编码接受答案作为过时是一件好事。它只是增加了另一层官僚主义和维护。最好是简单地解开被接受的答案,把被接受算作超级投票。多年来,在这方面有无数的建议。
此外,我希望排序顺序将得到更多的关注。我真不敢相信我们能把答案排序为最老的第一,但不是最新的第一(2021年)!我们似乎更看重旧内容(按分数排序,而不是按年分数或年龄加权分数或趋势排序),而不是新内容。更多的排序顺序,也强调新的内容,在我看来将是一个很大的进步。我真的希望在那里取得进展。不幸的是,这并不是四月问题的主题。
例如,一个有希望的排序顺序可以由(取自mateen ulhaq):创建一个问题的测试集,其中每个问题答案的理想排序顺序被手动标记为前3个答案。在此测试集上调整算法。具有最高精度的算法在现实世界中应该做得很好,因为它现在首先显示最重要的答案。例如,作为调整参数,我们可以考虑年龄、日期和编辑次数、投票和投票历史。
x759pob22#
为了让新的好答案能够应对答案的惰性并变得更加突出,在排序选项中添加一个基于排序答案的选项,其中最近的上升票比旧票更重要。
例如
或每月1%等。
uz75evzq3#
请考虑到我是作为一个搜索者而不是一个回答者来写作的,而且我也是以视觉为导向的。我个人倾向于使用标签/颜色线,将答案标记为去年的第一名,而不是现在的冠军。
我还想指出,一个问题的年龄得到一个体面的待遇:在黑色,只是在标题下,为你做的计算。
要找出答案的年龄,我们必须向下滚动到答案的末尾,阅读灰色的小字,然后计算年龄。
mccptt674#
我很难过,更新后的年龄是不包含在可能的解决方案。似乎我们是如此害怕编辑某人的帖子,以至于把自己画成一个角落,在那里我们有工具来解决问题,但拒绝使用它们。有人写了一条评论,指出改进,可以很容易地编辑后。
这是另一个答案。我认为这个答案忽略了许多问题的重点:
很久以前有人问了一个好问题
答案很久以前就贴出来了。也许这是一个很好的答案