18
\$\开始组\$

两年前,我们讨论过放弃客观获胜标准要求。没有真正达成共识。我真的很想再次开始这个对话,因为我觉得它阻碍了我们发展成为一个更全面的网站。

制定客观的获胜标准有哪些优点/缺点?

我将列出我个人看到的:

缺点

我看到的主要问题是阻碍寻求有效解决方案或(对于特别困难的挑战)任何解决方案的挑战.

大多数时候,我们只是通过挑战来解决问题,并添加时间限制。理想情况下,问题是,但因为我们有这个“客观的获胜标准”,用户需要承诺自己运行代码。

优势

它有助于我们识别和解决非主题问题。我们仍然需要朝着单一目标努力的答案。

旁注:我不打算就是否应该删除它对社区进行民意调查,但我希望就此展开讨论。

\$\端组\$
4
  • 1
    \$\开始组\$ 你自己对你问的问题的回答不应该进入实际回答? \$\端组\$ 评论 2016年1月17日16:57
  • \$\开始组\$ 我想开始一场对话,而不是“投票决定我们是否应该这样做”。我把我的缺点/优点列表作为一个起点,所以我应该把它们保留在问题中。 \$\端组\$ 评论 2016年1月17日17:09
  • 2
    \$\开始组\$ 我不确定这与投票有什么关系(除了目前对这个问题的投票更有可能是对你的意见的投票,而不是对是否进行这个讨论是一个好主意的投票)。你对你的问题有了自己的看法,这似乎适合作为答案。如果在答案中找到相同的文本,我不认为这会对开始讨论有害。 \$\端组\$ 评论 2016年1月17日17:17
  • \$\开始组\$ @马丁·巴特纳我同意这个答案。对我来说,对话的起点放在问题中更合理。不过我愿意把它搬走。 \$\端组\$ 评论 2016年1月17日17:19

3个答案

重置为默认值
39
\$\开始组\$

丹尼斯的回答触及了这一点,但我想写一个单独的答案,使其更加明确:

客观评分为本质的推动竞争,竞争激发创造力。

下面是一个没有客观评分的挑战的工作原理:你提出了一个有效的解决方案,可能做得好,也可能做得不好。你想想如何提高它的质量(无论“质量”在这种情况下意味着什么),如果可以的话,你就会这么做。在某种程度上,你会认为“是的,看起来相当不错,我会同意”。这就是结局。

下面是一个有客观评分的挑战的工作原理:你提出了一个有效的解决方案,可能做得好,也可能做得不好。然而,你有一个很好的主意,你可以或者不可以提高分数,如果可以的话,你可以。在某个时候,你会想“是的,看起来相当不错,我会同意”。然后你会看到其他参与者的分数,并注意到你只落后了几个“分”(无论在具体的挑战中是什么)。突然之间,你有了一个非常明确的目标:想出一些办法来击败另一个得分。这是一个切实可行的目标,也是尝试新事物的动力,它消除了在真正实现之前思考“是的,我认为这是最好的”的问题。

有趣的是,单凭分数就足以创造这种动力——甚至不需要竞争。一旦你得到分数,你就得到了你的拥有得分击败对手。这适用于a)当您的解决方案是解决该挑战的唯一解决方案时(到目前为止),b)您的解决方法得分太低,几乎没有竞争力(例如,因为您正在使用C#参加代码高尔夫),或C)您的解决方案到目前为止已经是最好的解决方案,其他提交的解决方案目前都没有提供任何真正的竞争力。

最近的一个例子是jimmy23013的疯狂高尔夫训练缩短他的自匹配正则表达式。目前在这一挑战上没有竞争对手,但寻找更短的解决方案的愿望已经足够想出新的方法(5或6个,并进行计数),探索不同的解决方案,这也最终导致了一个更优雅的解决方案。如果挑战不是代码高尔夫球,我敢肯定答案仍然是第一个可行的解决方案。

虽然代码高尔夫球方面(例如,因为它是我们最常见的挑战类型)通常与手头的实际问题正交,但它驱使我们跳出框框思考,寻找解决给定问题的新方法,因为“任何解决方案”都不够好。

如果我将其与Project Euler进行比较,Project Euler本质上是一个承载类似(尽管更难)编程挑战的网站,没有评分/获胜标准,一旦我找到了其中一个问题的解决方案,我总是会转到下一个问题。特别是,对于那些用天真的方法恰好可行的问题,我没有从中学习到任何东西,因为没有动机从任何可能的角度来看问题。

当然,没有任何得分是极端相反的。正如丹尼斯所提到的,还有一种选择,即采用主观的获胜标准。但这一点也不好:如果我不能直接衡量我的解决方案的质量,并将其与其他固定规模的解决方案进行比较,我怎么知道另一种方法实际上会改进我的解决方法?最后,我仍然认为“是的,这看起来不错,我希望OP比其他解决方案更喜欢它”。

总之,我认为那些看不起代码高尔夫的人高估了手头特定获胜标准的重要性。只是代码高尔夫球工作得特别好,因为它很容易测量,很容易比较,提供了各种各样的潜在分数,并且不能被玩(除了利用漏洞)。但最终,令人惊叹的代码高尔夫解决方案并不令人惊叹,因为它们很短,但因为作者确实从各个角度研究了这个问题,并提出了一种新颖的方法,让每个人都大吃一惊。(这也意味着,这里的“最佳”(主观)答案并不总是最短的,但往往是因为追求简短才激发了这个答案。)

也就是说,我能理解人们是否愿意看到其他人客观的获胜标准更加突出,或者更容易在此网站上运行。我完全愿意不做一个纯代码的高尔夫网站,探索新的(客观的)评分系统,做更多通用的但客观是所有这些挑战中最重要的特征,因为如果没有客观,我相信我们中的许多人都会失去动力,无法像有时那样在单个问题上花费尽可能多的时间。

\$\端组\$
0
10
\$\开始组\$

很难讨论这样一个根本性变革的优点和缺点;它彻底改变了网站的范围。现在,这个网站举行了编程竞赛,这意味着我们不仅试图用特定的目标解决问题,而且还与其他试图这样做的人竞争。

取消客观的获胜标准要求并简单地要求“有效的实施”意味着我们不再考虑竞争,因为无法比较提交的文件。虽然这可能对试图解决问题的人有所帮助,但解决人们的问题并不是本网站的宗旨。

主题:缺点

[一] 它阻碍了寻找有效解决方案的挑战[。]

不应该这样。

是的,非常简单问题需要OP额外的努力(其他人只需使用在线平台进行计时),但还有其他选择。我们有,这意味着参赛者可以自己计时提交,以及,这根本不需要时间。

[一] 它阻碍了寻求[…]任何解决方案的挑战。

这是故意的,在我看来一点也不成问题。寻找任何解决方案都意味着我们不再有竞争。

是的,有些问题本身就很有趣,也很难解决,而不需要尝试提出一个特别短或特别快的解决方案,但仅仅因为某些事情很有趣并不意味着它就应该成为本文的主题。

主观获胜标准

主观取胜标准(即作者的选择)可以被视为客观取胜标准和根本没有取胜标准之间的中间地带,但实际上与后者没有什么不同。

如果一个竞争对手有多个解决方案,而不知道具体目标是什么,他就无法选择应该提交哪一个解决方案。出于同样的原因,我不太喜欢挑战。

简单地让OP选择哪个答案应该获得冠军,这让我们与其他编程问答网站没有什么不同。这不是增长,而是失去我们的身份。

\$\端组\$
11
  • 1
    \$\开始组\$ 谢谢你的回答!不幸的是,这两种替代方案都存在问题:高尔夫中央处理器速度慢,而且大多数用户难以参与,并且最快算法实际上并不意味着算法很快。 \$\端组\$ 评论 2016年1月17日15:50
  • \$\开始组\$ 简单地让OP选择哪个答案应该获得冠军,这让我们与其他编程问答网站没有什么不同我不知道为什么我们需要与众不同(在这方面)。我不是建议我们失去客观目标(例如快速代码),而是建议我们失去目标得分(衡量它) \$\端组\$ 评论 2016年1月17日15:51
  • 4
    \$\开始组\$ 1.我的观点是,如果我们目前用来衡量代码速度的获胜标准有缺陷,我们应该尝试寻找更好的标准,而不是消除它们。2.举办比赛并不是这个站点与堆栈溢出之间的细微差别,而是主要的差异。三。快速代码不是一个客观的目标。同样的算法在某些情况下速度惊人,而在另一些情况下速度则极其缓慢。同样的优化对某些体系结构有益,对其他体系结构有害。 \$\端组\$
    – 丹尼斯
    评论 2016年1月17日16:32
  • \$\开始组\$ 1.我不是说要删除当前的标准。它们很棒。但我们限制了不同标准的可能性,因为它们无法客观评分。2.我不这么认为。我们谈论的是编程挑战未编程竞赛. 3. 是的,OP在接受回答时会考虑到这一点。真实代码通常考虑效率,我们并不总是使用基准编写高效的代码。 \$\端组\$ 评论 2016年1月17日16:57
  • \$\开始组\$ 2.谷歌定义挑战作为号召参加比赛或竞赛,尤指决斗. 3. OP会做出任意决定,具体取决于他认为是最有效的代码。这根本不是一个客观的目标。 \$\端组\$
    – 丹尼斯
    评论 2016年1月17日17:09
  • \$\开始组\$ 2.不管语义如何,像Project Euler这样发布挑战的网站是我们与众不同的地方(不是我们给它们评分),IMO.3。回答问题时,我会编写代码思考很快,OP会接受以下答案思考很快。这与其他网站没有什么不同:我发布了什么能最好地解决他的问题,他接受了思考能最好地解决他的问题。 \$\端组\$ 评论 2016年1月17日17:15
  • 2
    \$\开始组\$ @纳森·梅里尔3。我认为“任何其他站点”都是指其他SE。所有这些都是问答网站。PPCG不是。 \$\端组\$ 评论 2016年1月17日17:18
  • \$\开始组\$ @Martin Büttner我不同意。我们只是用不同的词来形容它们。我们没有问“我如何用最少的代码写X”,而是简单地说“用最少的编码写X” \$\端组\$ 评论 2016年1月17日17:22
  • 1
    \$\开始组\$ PPCG和实际问答网站之间的差异正是我们所要求的获胜标准。把它拿走,是的,你会得到另一个问答网站。 \$\端组\$
    – 丹尼斯
    评论 2016年1月17日17:27
  • \$\开始组\$ 我同意。这一改变将使我们更接近问答网站的模式。与“代码竞赛”相比,我们在“代码挑战”(正如我所描述的)方面仍会有很大不同。 \$\端组\$ 评论 2016年1月17日17:34
  • \$\开始组\$ 丹尼斯,我不同意。即使没有严格的获胜标准,在发帖询问你所坚持的事情和写别人喜欢的挑战之间也有很大的区别。你得到的答案之间也会有很大差异@纳森·梅里尔,你说像成为一个问答网站是一件令人向往的事情。虽然该软件显然是用于问答网站的,但这并不意味着我们的社区通过拥抱其问答根源实际上会工作得更好。(我认为如果SE承认我们不是一个问答网站,那么它实际上会更好。) \$\端组\$ 评论 2016年1月17日20:45
1
\$\开始组\$

所有堆栈站点都源于stackoverflow,它们都使用其软件、社区和规则的后代。因此,他们都会展现出stackoverflow的特点,通过评分系统进行客观测量是其核心特征。问答要点。问题和答案的赞成票和反对票,评论的赞成票,成就的徽章,总浏览量,用户可能看不见,搜索引擎排名和转换率。

这是stackoverflow的dna,这些网站的目标是增加这些数量以增加流量。他们通过使用规则和判断这些规则对分数的影响来做到这一点。结果好的规则会继续存在,结果不好的规则则会被驳回或不受欢迎。

代码高尔夫,作为一个堆栈的后代,需要规则来增长,我觉得这一特殊要求用户参与创建他们自己的客观指标很有诗意。它只是将客观得分向前推进了一步。

\$\端组\$
1
  • \$\开始组\$ “‘可量化的暴政’,即衡量什么东西的方式几乎总是优先于不能衡量什么:私人利益高于公共利益;速度和效率高于享受和质量;功利主义超越了神秘和意义,这些神秘和意义对我们的生存和生存更大的用处,对那些有某种目的和价值的生命来说,这些生命超越了我们,使文明值得拥有。”索尔尼 \$\端组\$ 评论 2020年2月12日6:17

你必须登录来回答这个问题。

不是你想要的答案吗?浏览标记的其他问题.