Skip to content
This repository was archived by the owner on Jan 6, 2020. It is now read-only.

Latest commit

 

History

History
90 lines (80 loc) · 5.2 KB

File metadata and controls

90 lines (80 loc) · 5.2 KB

チャレンジ点検表

全チャレンジ共通項目

  • Skeleton-challenge-cliもしくはクライアント指定のひな形に準じた形式になっている
  • TODOタスクは全て完成したか ("TODO"という表記がレポ内に残っていないか)
  • 言語が日本語のみの場合、README_en.mdは削除されているか
  • github上でmasterをprotected branchとして設定できている
    • "Protect this branch" が有効になっている
    • "Require pull request reviews before merging" が有効になっている
    • "Restrict who can push to this branch" が有効になっている

README.mdの設定

  • 課題となるプログラムの意図が明確である
  • 遊び心のある表記になっている
  • 行数が100行以内である。目標値は70行
  • 誤字脱字がない
  • 文末、文体が統一されている
  • サンプルが示されている
    • サンプルで十分に期待している動作を表現できていること
    • サンプルの表記に誤りがないこと
  • 引数の不正に対する記述がある
  • 言語に関する記載が無い(examの仕様上、記載されていないべき)

challenge.jsonの設定

  • challenge.json が設置されている
  • 言語設定が適切である
    • プリセットCLIは 環境ページの内容に準拠すること
    • クライアントチャレンジの場合、クライアント指定の言語になっていること
  • editable の設定が適切である
    • 以下がeditableとして設定されている(テンプレートとして組み込まれているファイル)
      • .gitignore
      • package.json
      • codecheck.yml
      • answer.md
  • excludes の設定が適切である
    • challenge.json がexcludeされている
    • 秘匿すべきテストがexcludeされている
  • ignores の設定が適切である
    • サンプル解答コードが除外されている
    • サンプル解答コードが一般的に使われているディレクトリ(/appなど)以外で作られている
      • 指定されたディレクトリ名でプログラムを実装した時の挙動が保証できないため
      • INSPECTION.md,eslint設定ファイル及び .github/が除外されている
  • testの設定が適切である(普段はmocha)
  • 言語が日本語のみの場合、readmeの設定は削除されているか

codecheck.ymlの設定

  • codecheck.yml が設置されている
    • ローカル受験では challenge.json の内容が見られないため、codecheck.yml ファイルが必要になる
  • testの設定が適切である(普段はmocha)
  • codecheck.yml と challenge.json の "test" セクションが一致している
  • "env" セクションと、その中で "APP_COMMAND" のセクションに記載がある

answer.mdの設定

  • answer.md が設置されている
  • answer.md にチャレンジ特有の要求されている解答説明等に関する記述がある
  • answer.md に不要な記述が含まれていない

package.jsonの設定

  • package.json が設置されている
  • package.json に不要なモジュールが含まれていない
  • "scripts": ( "test": "mocha" )は不要。除外されているか?

テストケースの設定

  • テストケースが実装されている
  • 秘密のテストケースが実装されている
  • 解答コード不在時に、全てのテストケースがfailする
  • 解答コード不在時に、テストケースの母数が変化しない
  • 解答コードで全てのテストケースがpassする
  • app.runではなくapp.codecheckを利用している
  • テストケースは全て日本語表記になっている
  • 「良い」テストスイートの定義(RISES)を満たしている
    • Readable (可読性は高い)
    • Independent 各テストは他テストや不要なモジュールに依存していない。他テストと重複していない。
    • Small 小さいか?各テストは検証できる最小単位の機能を検証している
    • Exhaustive テスト群は全機能を網羅している
    • Speedy 実行速度が早い。検証サイクルは小さい方が楽しい

機能点検

  • code-develop でチャレンジとしてインポートできる
  • editable であるべきファイルが編集できる
  • excludes かignore と設定されるべきファイルが表示されていない
  • 実装した場合、webeditorで全てのユニットテストがパスする
  • 実装した場合、local受験で全てのユニットテストがパスする
  • すべての言語で初期状態(ユーザーが1行もコードを書いていない状態)でテスト実行可能である

ユーザー受け入れ点検

  • 第三者に作成した問題を解いてもらった
  • 実装が容易なfirst step(はじめの一歩)が設けてある
  • 回答時間が2時間以内だった