笑脸评级系统的公式

时间:2014-08-11 13:21:14

标签: rating-system

我在我的网站上使用笑脸评分系统:喜欢(笑脸),不喜欢(悲伤的脸)和中立(直脸)。

我使用下面的公式来评估整体评分作为笑脸而不是数字。

设x =喜欢的数量 - 不喜欢的数量

If x<0, then rating = dislike
If x>0 & x> number of apathetic, then rating = like
If x>0 & x<number of apathetic, then rating = apathetic

如何计算此类评级系统中的平均评分数/分数?

注意:我需要得分才能对顶部评分最高的评分和底部评分最低的评分进行排序

1 个答案:

答案 0 :(得分:0)

我不确定你是否使用面向对象的编码,但无论哪种方式,如果你有'某事'进行投票,我猜你还有关于'某事'的其他信息,这些信息存储在数据库或其他一些媒介。

话虽如此,您可以简单地将投票存储为整数,并将对象投票。

示例: 您有一个发布网站或博客,用户可以在其中对其他用户发布的帖子进行投票。

每个帖子都会存储如下信息:

  • 是谁发布的
  • 日期
  • 帖子详情

有了这些信息,您还可以存储它的upvotes和downvotes。

或者,如果你想更进一步,你可以创建一个投票对象和一个与帖子的关系,如果你想存储的不仅仅是upvotes和downvotes的数量(更多信息,如谁投票或投票的日期,如果例如,你不希望人们两次对同一件事进行投票。)

要记住的其他事项,始终跟踪所有upvotes + downvotes并使用逻辑来确定显示。不要只保留一个整数并添加或减去它。一个有1个upvote和1个downvote = 0得分的帖子与1000个upvotes和1000个downvotes = 0得分的帖子不一样,因为它有2000个视图,这本身就应该占一些。

正确的方法: 我知道您不想显示金额,而是显示表情符号,但您仍然应该以这种方式存储它并以不同方式呈现显示。

  • 创建一个额外的表并将其称为投票
  • 存储选民,日期,投票类型等信息
  • 以用户和投票之间的多对多关系链接表格
  • 每次投票时,请更新表格
  • 计算起伏之间的差异并在前端显示正确的表情,或将其显示为数字

“我有一个蹩脚的客户”,“我很懒”或“我正在编码2个小时的睡眠”的方式:

  • 创建一个整数字段,对象在
  • 上投票
  • 用户投票时增加和减少

希望我理解这个问题,这有帮助!