在互联网的早期,Perl的Usenet新闻组comp.lang.perl.misc是一个讨论和解答问题的地方,但对初学者来说却非常不友好。新闻组有一个庞大的FAQ,常客们经常对提出已有答案的问题的人大喊大叫。这可以理解,因为没有人喜欢重复自己。但初学者最不容易理解这一切,而且他们最有可能需要帮助。新闻组设立的方式并不利于最需要帮助的人。
然而,php.net网站在提供帮助方面做得很好。每个函数下面都有一个简单的按最近发布排序的讨论区,而且这些讨论几乎回答了我所有的问题。
随后,Stack Overflow出现了,大家都转移到了那里。那些不帮忙的“阅读FAQ。plonk”评论在下投票中消失了,而有帮助的评论得到了上投票。
但在某个时刻,“有帮助”的氛围发生了变化。Stack Overflow不再是一个问答网站,而是开始变成了一个文档网站。问题的回答变成了“参见这个其他答案”。虽然比Usenet上的粗鲁少,但它正在变得同样无益。
也许所有问答网站最终都会变成文档网站。如果你“正确”地回答了一个问题一次,为什么还要重复自己呢?
但笔者认为,答案的重复是有益的。它让下一代程序员练习他们的清晰表达能力和回答问题的能力。它让他们收集他们的上投票和徽章。对于初学者来说,学习如何提问,对于资深人士来说,学习如何写答案,对于超级资深人士来说,学习如何进行管理,这是一个健康的漏斗。