存档

‘外文翻译’ 分类的存档

奇怪而疯狂的规则

2019年5月17日 没有评论

在开发人员中有这样一个流行的想法,当你遇到代码问题时,你应该找到一个橡皮鸭并向鸭子解释你的代码应该如何工作,一行一行,你期望看到什么,你是什么相反,等等。尝试此报告的开发人员向无生命对象详细解释问题的行为通常有助于他们找到解决方案。

Stack Overflow April Fools笑话2018年这是解决编程问题的众多技巧之一。另一个技巧是  分而治之调试。你不能研究一千行代码来找到一个bug。但是你可以将它们分成两半并快速找出问题是在上半部分还是后半部分发生的。继续这样做五到六次,你将找出问题的单行代码。

考虑到这一点,推荐阅读Jon Skeet 撰写完美问题  清单。Jon问的一个问题是“你是否仔细阅读了整个问题,以确保它有意义并且包含足够的信息给没有你已经知道的任何背景的人来到这里?”这基本上就是橡皮鸭测试。另一个问题是“如果你的问题包含代码,你是否把它写成一个简短但完整的程序?”强调   – 这本质上是对你是否尝试分裂和征服的考验。

在最好的世界中,Jon的核对清单可以帮助人们在寻求帮助之前尝试经验丰富的程序员可能已经尝试过的东西。

可悲的是,并非所有人都能找到他的清单。也许他们找到了,他们也不在乎。他们的代码存在紧急问题; 他们听说Stack Overflow可以帮助他们; 他们没有时间阅读一些书呆子的复杂协议来请求帮助。

关于Stack Overflow的一个常见争论是网站是否需要接受编程新手的问题。

当Jeff和我谈论Stack Overflow的初始设计时,我告诉他20世纪80年代用于C编程语言的这个流行的Usenet小组。它被称为  comp.lang.c.

C是一种简单且有限的编程语言。你可以得到一个适合100K的C编译器。 所以,当你组建一个关于C的讨论小组时,你很快就会谈论不了解的事情。

也。在20世纪90年代,C是学习编程的本科生的共同语言。事实上,说本科生在C语言中会有非常基本的问题。他们可能会出现在comp.lang.c上询问他们的问题。

comp.lang.c上的老人很无聊。 无聊了。每年九月出现的本科生都很无聊,想知道为什么他们不能从一个函数等等返回一个本地字符数组。每个该死的九月。

旧计时器发明了常见问题解答的概念。他们用它们来说“请不要问以前曾经在Usenet历史上曾经问过的事情”,这实际上意味着他们真正想要看到的唯一问题是如此离奇和如此深奥以至于他们真的非常无聊99%的C级程序员。这个新闻组感到沮丧,因为它只迎合那些已经存在了十年的少数人。

杰夫和我谈到了这一点。我们怎么看待新手问题?

我们决定欢迎新手。没有什么是“初学者”在Stack Overflow上成为一个合理的问题……只要你在提问之前做了一些功课。

我们知道这可能意味着一些更高级的人可能会对重复的简单问题感到厌倦,并继续前进。我们认为这很好:Stack Overflow不一定是终身承诺。如果你认为新手们一直在问为什么他们不能返回本地的char数组(“但它对我有用!”),你会感到无聊并继续前进,你宁愿把剩余的短暂岁月投入到更高效的东西,比如整理你的唱片专辑。

您是新手的事实并不意味着您的问题不属于Stack Overflow。为了证明这一点,我问“ 你如何在Logo中移动乌龟 ”,希望留下证据证明网站设计师想要允许绝对的初学者。

由于意外后果的法律,这引起了很多骚动,但不是因为这个问题太容易了。真正的问题是,我是在恶意地提出这个问题。杰夫阿特伍德解释说:“简单就好了。没有努力和研究不是。“(也是这个。)

对于初学者来说,与在Stack Overflow上提出第一个问题相关的漫长的官僚主义困境可能完全没有必要,或者只是很奇怪。这就像燃烧的人。你只想在沙漠中参加一个不错的闪光舞会,但是燃烧的人们正在喋喋不休地谈论他们该死的10条原则,以及“激进的自我表达”等等,因此洗完你的菜后,你必须小心地把脏的洗净水当作珍贵的遗物,然后将它从Playa中取出,把它带回家,必要时放入托运行李。每个社区都有很多规则,当你加入社区时,他们要么看起来很奇怪,要么令人愉快,或者,如果你只是拼命地试图让一些代码工作,那么它们就会变得奇怪和令人发狂。

许多使燃烧人成功的重要规则似乎是武断的,但它们仍然是必要的。为燃烧人提供沙漠的美国土地管理局要求没有污染的水倒在地上,因为粘土污垢并没有真正吸收它,它可以引入各种疾病等等,但是谁因为如果参与者不打包用过的水,就不会允许燃烧的人继续关注。

类似于Stack Overflow。例如,我们不允许过于宽泛的问题(“我如何制作节目?”)。我们的一般规则是,如果答案的正确长度是整本书,那么你的要求太高了。这些问题感觉就像出现在一个医疗网站上,并说出“我认为我的肾脏受伤了”。我怎么能把它删除呢?“这很疯狂 – 顺便说一下,侮辱那些花了十年时间训练学习外科医生的人。

有一点我非常关注,因为我们试图教育下一代开发人员,并且重要的是,在新一代中获得更多的多样性和包容性,这是我们在尝试学习编程时为人们设置的障碍。在许多方面,Stack Overflow针对允许内容和不允许内容的具体规则是障碍,但更大的问题是新手经常看到的粗鲁,嘲笑或屈尊俯就。

我非常关心这一点。作为开发人员,您可以为将来编写脚本提供无与伦比的机会。面对试图成为开发人员的新手,Stack Overflow所引发的所有抨击都会对人们,社会以及Stack Overflow本身产生积极的伤害,驱逐潜在的未来贡献者。编程很难; 我们应该看到我们的使命更容易。

我们计划明年在这个领域做很多工作。我们不能改变每个人,也不能强迫人们变得善良。但我认为我们可以改进Stack Overflow用户界面的某些方面以鼓励更好的行为,例如,我们可以改进我们在“Ask Question”页面上提供的提示,并且我们可以提供更多工具用于社区审核评论,其中snark目前运行不受限制。

我们还在开发新功能,让您将问题转发给您自己团队中的一小部分私人小组,这可能会给Stack Overflow这个大城市带来一些友好的社区感受。

即使我们试图使Stack Overflow更加友好,我们在Stack Overflow的主要考虑是为软件开发人员构建世界上最大的资源。世界上的普通程序员已经被Stack Overflow帮助了340次。那是真正的终结游戏。还有其他资源可供学习编程和获得帮助,但世界上只有一个开发人员信任这一点的网站,这值得保留 – 相当于美国国会图书馆的编程。

 

原文来自 JOEL ON SOFTWARE 编写的 Strange and maddening rules

分类: 外文翻译 标签:
互联网安全