Show solve rate and solve time on every problem
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 35/100
調査の方向性
Start by reading the battles_history schema and the practice-submission data path, then find the problem-page and stats-endpoint entry points and their route tests. The issue calls for a scheduled problem_stats refresh and, optionally, backend/arena/scripts/difficulty-report.js. Done means stats are hidden below 20 attempts, the page and endpoint tests verify the specified measures, and npm test plus node scripts/check-boundary.js pass.
索引モデルが issue の本文から書いたものです。
説明
Problem pages show the statement and examples but nothing about how players actually do on them. Solve rates and solve times tell a player what they are walking into and tell maintainers which problems are mislabeled.
What to show on each problem page
- Solve rate in battles and in practice, shown separately.
- Median solve time, overall and per language.
- Number of players who have attempted it.
- A small histogram of solve times, with the player's own best time marked.
Backend
- Compute stats from
battles_history(which hasproblem_id, times, languages andwinner_tests_passed/loser_tests_passed) and practice submissions. - Precompute into a
problem_statstable refreshed on a schedule, not per request. - Hide stats until a problem has at least 20 attempts, so early numbers are not noise. Show "Not enough data yet" instead.
Bonus: difficulty sanity check
Add a script, backend/arena/scripts/difficulty-report.js, that lists problems whose real solve rate disagrees with their label (for example an "easy" with a lower solve rate than the median "medium"). Maintainers use it to relabel.
Definition of done
- Route tests for the stats endpoint, including the minimum-attempts rule.
- Numbers on the page match a hand-checked SQL query (include the query in the pull request).
npm testandnode scripts/check-boundary.jspass.
- 主要言語
- JavaScript
- スター
- 0
- フォーク
- 2
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
sennaicodes/codearena のほかの issue
-
Add issue and pull request templates再び着手できるかも @franciscorodr26 が 18 日前に担当しましたが、オープン中のプルリクエストはありません。 オープンdocumentation good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
sennaicodes/codearena#13 · コメント 1 件 ·
-
enhancement help wanted
難易度 5/5 1週間以上 初心者へのやさしさ 45/100
sennaicodes/codearena#34 ·
-
enhancement help wanted
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
sennaicodes/codearena#33 ·
-
enhancement help wanted
難易度 5/5 1週間以上 初心者へのやさしさ 45/100
sennaicodes/codearena#32 ·
-
enhancement help wanted
難易度 5/5 1週間以上 初心者へのやさしさ 38/100
sennaicodes/codearena#31 ·
sennaicodes/codearena の issue をすべて見る
似ている issue
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 64/100
メンテナーはふだん 1 日以内に返信
-
bug needs-triage
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
apex-dev-tools/apex-log-parser#199 ·
メンテナーはふだん 1 日以内に返信
-
enhancement good first issue hacktoberfest help wanted
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
-
ReadBufferStream.addBuffer adds the full ArrayBuffer of a typed array view, and ignores its byteOffset対応中かも @wayfarer3130 が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
Expo 57 example: pnpm install fails with ERR_PNPM_TRUST_DOWNGRADE対応中かも @github-actions が今日担当しました。 オープンbug react-native team/client-libraries
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
PostHog/posthog-js#5442 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信