[Slashdotjp-dev 27] バグ#3794 コメント投稿時の「+1ボーナス」がプレビューで忘れられる

アーカイブの一覧に戻る

Oliver M. Bolzer olive****@faker*****
2004年 1月 21日 (水) 06:43:06 JST


バグの要約:「スコアの +1 ボーナスを使わない」のチェックを外しても、
  プレビューするとチェックが復活している。

バグの原因:大昔、このオプションのデフォルトの挙動を変更した際、当時は
  Slashcodeをまったく理解してなく、理解したくもなかったので安易に
  CHECKED固定にしてしまっていたので、チェックは必ず常に入っていた
  過去に追い付かれてしまった (汗

解決:フォームでPOSTされた値をチェック状態に反映させる。デフォルトは
 チェック入り

変更点:
default;comments;edit_comment

 [% IF !user.is_anon && user.karma > constants.goodkarma %]
- <INPUT TYPE="checkbox" NAME="nobonus" CHECKED> スコアの +1 ボーナスを使わない
+ <INPUT TYPE="checkbox" NAME="nobonus" [% !preview || form.nobonus ? " CHECKED" : "" %]> スコアの +1 ボーナスを使わない
 [% do_br = 1; END;

解説:previewはプレビュー時にしか存在しないので、最初にコメント作成画面
  にはいった時にはundefなのを利用してデフォルトの挙動を実現している。
  但し、コメントフィルタ(空コメントやASCIIあーと等)にひっかかった場合も
  undefなので、その時にはチェック状態は失われてしまう。

このメッセージはわかりにくいので、もっと分かり易いメッセージの案は
ないでしょうか?  > ML 参加者の皆さん
もともとはカルマがgoodkarma以上(現在は25)たまっているユーザは優良
ユーザなのでコメントにボーナスを、という機能なんですけど、/.-Jは
ユーザ数ゼロから始めたため、ほとんどのユーザがgoodkarma以上だった
という時期があったので、デフォルトではボーナスなしにして、特に
自信のある発言の場合には明示的にボーナスを利用する、という風にしました。

現在はカルマが0より大きいユーザが4910人、うちgoodkarma以上は1129人
と20%強もいるので、デフォルトではボーナスを使わない、というのは
維持したほうが良いように僕には思えます。

いっそ、チェックの意味を逆にして「スコア2でスタートする(高カルマボーナス)」に
してしまうのも手かもしれませんね。が、同時に何箇所もイヂると必ずポカミス
するので、今回はバグの修正だけ。
-- 

	Oliver M. Bolzer

GPG (PGP) Fingerprint = 621B 52F6 2AC1 36DB 8761  018F 8786 87AD EF50 D1FF



Slashdotjp-dev メーリングリストの案内
アーカイブの一覧に戻る