Suivi — Commentaires Possibilité de plusser un commentaire déjà à +10

#884 Posté par  . État de l’entrée : corrigée. Assigné à Bruno Michel.
Étiquettes : aucune
29
29
mar.
2012

Quand on lis un commentaire, et qu'il a plus 10 on ne peut pas le plusser. Ce qui fait que si quelqu'un passe derrière et le moinsse, il redescend à 9.

Imaginons le cas suivant :

  • Un commentaire est à +10 à 13 heures 37
  • ProTroll le lis à 13 h 38, il est d'accord, il ne peut pas le plusser.
  • ConTroll le lis à 13 h 39, il n'est pas d'accord, le moinsse.

Le commentaire se retrouve à 9. Alors que dans le cas où on peut quand même le plusser, il resterai à +10.

Le principe n'est pas d'avoir des commentaires à +30, mais de garder en mémoire le fait qu'il y ai eu 30 « plussages », tout en laissant affiché « +10 ».

Je ne programme pas en RoR du tout. Mais vu que ce n'est pas du Java, j'ai survolé le code, et je pense que l'idée est dedans (il y a peut être d'autres choses à modifier) :

From 681470b76a79a713e0dd73578985a7b3ee5f6c43 Mon Sep 17 00:00:00 2001
From: Niniryoku <niniryoku@linuxfr.org>
Date: Thu, 29 Mar 2012 22:14:22 +0200
Subject: [PATCH] Add ability to upvote +10 and downvote -10 comments

---
 app/models/comment.rb                 |    4 ++--
 app/views/comments/_comment.html.haml |    2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/app/models/comment.rb b/app/models/comment.rb
index 428e2bd..bd0dd45 100644
--- a/app/models/comment.rb
+++ b/app/models/comment.rb
@@ -159,11 +159,11 @@ class Comment < ActiveRecord::Base
   end

   def vote_for(account)
-    vote(account, 1) && Comment.increment_counter(:score, self.id) unless score >= 10
+    vote(account, 1) && Comment.increment_counter(:score, self.id)
   end

   def vote_against(account)
-    vote(account, -1) && Comment.decrement_counter(:score, self.id) unless score <= -10
+    vote(account, -1) && Comment.decrement_counter(:score, self.id)
   end

   def vote(account, value)
diff --git a/app/views/comments/_comment.html.haml b/app/views/comments/_comment.html.haml
index 8752813..caf7cb0 100644
--- a/app/views/comments/_comment.html.haml
+++ b/app/views/comments/_comment.html.haml
@@ -8,7 +8,7 @@
   - unless defined? hide_content_title
     En réponse #{translate_to_content_type comment.content_type} #{link_to comment.content.title, path_for_content(comment.content)}.
   Évalué à&nbsp;
-  %span.score>= comment.score
+  %span.score>= max(-10, min(10, comment.score))
   \.
   - if comment.created_at != comment.updated_at
     %span.update>
-- 
1.7.6.5

  • # Pertinent !

    Posté par  . Évalué à 8 (+0/-0).

    Je suis même d'avis de ne pas limiter l'affichage = +/-10.

    Après tout, c'est d'autant plus aberrant que les dépêches, journaux et autres ne sont pas limités à 10.

    Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur

  • # Pas convaincu

    Posté par  (site web personnel) . Évalué à 3 (+0/-0).

    Pour ce qui est de séparer les commentaires pertinents des inutiles, il n'y a pas besoin de les étaler sur une échelle immense de notes. L'intervalle [-10 , +10] couvre bien ce rôle.

    Pour ce qui est de répartir les avis des gens, avoir un intervalle limité évite de concentrer inutilement les avis sur quelques commentaires qui seraient adulés (+142) ou détestés (-242).

    • [^] # Re: Pas convaincu

      Posté par  . Évalué à 4 (+0/-0). Dernière modification le 08 mai 2012 à 15:41.

      Pour ce qui est de séparer les commentaires pertinents des inutiles, il n'y a pas besoin de les étaler sur une échelle immense de notes. L'intervalle [-10 , +10] couvre bien ce rôle.

      Ce n'est pas mon intention. Le but est bien de stoker un score du type +40 ou -89, mais après on fait un min(+10, max(-10, score)), donc on reste dans l'intervalle [-10, +10].

      Pour ce qui est de répartir les avis des gens, avoir un intervalle limité évite de concentrer inutilement les avis sur quelques commentaires qui seraient adulés (+142) ou détestés (-242).

      Je ne pense pas que ça se passe comme ça. Dans mon cas (je ne dis pas que tout le monde est comme moi), je n'utilise jamais mon quota d'avis par jour (en général, il me reste 90 avis sur mes 100). Mais quand je vois un bon commentaire, je le pertinente… Ah, il est déjà a +10, ça ne fait rien. Et je repasse le lendemain quelqu'un a cliqué sur inutile et il à 9. Avec ma solution, il resterai à +10. Avec 100 personne pour un commentaire et 10 personnes contre, avec de la malchance dans l'ordre de passage (typiquement les 100 personnes « pour » le lisent, puis les 10 personnes « contre » passent après) un commentaire peut se retrouver à 0 alors qu'il devrait rester à +10.

      Knowing the syntax of Java does not make someone a software engineer.

  • # Fait

    Posté par  (site web personnel) . Évalué à 4 (+0/-0).

Envoyer un commentaire

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.