我正在设计一个网站,并希望建立一个像StackOverflow内置的良好信誉系统.
当我开始设计我的声誉系统时,我意识到SO Q/A模型并不适合我的应用程序(因为我的不是Q/A),也许我应该先做一些研究.
所以我的问题是; 在设计社区代表系统时我应该考虑什么?
你首先需要决定你的系统是否应该更加民主(ala SO - one voce one vote)或更多专家驱动(一些猪......错误的选民比其他人更平等).
后者的一个例子是根据以下两种情况给予选民更多的权重:
他们的声誉,或
他们的"准确性" - 例如他们与其他选民的投票方式相似.这个是非常棘手的,并且可能要求在有人投票之前不要显示完整的投票结果.
确定哪些功能对您最重要.防止滥用?避免某些类型的偏见?
区分事物的重要功能是:
"盲目投票"投票(在投票或陈述"我不会投票"之前,你不会看到帖子的排名.)这避免了与牛群投票的压力.
匿名投票.在投票或拒绝投票之前,您无法看到该项目的作者.由于缺乏一个更好的术语(或者对Joe's Turtle问题的赞成),预防了"Jon Skeet"的偏见.
匿名与唱名表决.显而易见的是前者 - 它可以防止报复.OTOH,唱名(例如,确定谁投票)促进更负责任的投票并在一定程度上限制某些滥用.
投票限制(每个选民的投票数,每个投票人,每个选民的投票数等等)
能够收回/更改投票
能够对属性进行投票而不是作为一个整体进行投票(想想技术得分与花样滑冰或体操的艺术得分)
能够根据用户的决定或上下文给出可配置的投票金额.
作为后者的一个例子,这些天在StackOverflow上为CW的A/+ 0考虑Q/+ 10 + +.
排名的粒度.例如SO的确切点系统与"/." 1-5卡玛与其他东西.
投票分享.例如,如果您对帖子进行了足够明显的编辑以产生额外的代表,那么您永远不会获得代表.并且你不能与那些通过评论为回答提供好主意的人分享回复.