はじめての Java プログラム
作成品質の確認
全チェックの通過状況
スライド 0 / 1枚、チェック 3 / 5項目が通過
完成後の5チェック
本文・学習内容
初回Java課題の役割、starter / solution、requirements、hints、1 test case、次レッスン境界を照合。1枚は今回書いたreturnがテストへ届く経路だけを扱い、未習事項を除外する。
ソース・課題との接続
DB由来のlesson / problem / language / function / tests / starter / Java signatureをclient・Go・hubへ固定済み。ただしtrusted TestRunnerとlearner codeが同一JVM・同一filesystem権限でoutcome channelを偽造でき、unauthenticated Cloud Function内でOS / network / envへ到達できるP0が残る。さらにmarkLessonCompleteが正答を要求せず進捗・XPを付与できるP0がある。live本文directiveのguarded DB applyも明示承認待ち。
見た目・操作
実レッスンのopen / close / reopen、単枚route、lesson detail、print、320 / 360 / 393pxの内部scrollと固定navigationを確認。全PNGをview_image(original)で独立目視し、欠け・重なり・横overflow・読めない文字なし。
再利用・パターンマスター
既存steps-horizontalをそのまま再利用。新規part / asset / figureなし。pattern masterの既存4段ステップ表示も原寸目視済み。
型・テスト・回帰
前後レッスン、targeted tests、typecheck、format、diff、実ブラウザ回帰待ち。
現在直している項目
- ・live article先頭のcompiler-interpreter directiveがJava課題と不一致
- ・Java execution serviceがtrusted runnerとlearner codeを同一JVM / filesystem権限で実行し、outcome channel偽造と任意OSアクセスを防げない
- ・markLessonCompleteがcoding正答・lesson/course所属を検証せず、進捗・XPを迂回できる
return の1行がテストに届くまで
public class Solution の public static String helloWorld() に return "Hello, Java!"; を書くと、その戻り値をテストが採点します。
1. Solution.java
helloWorld() で "Hello, Java!" を return
2. javac
ソースコードをコンパイル
3. Solution.class
実行用のバイトコードができる
4. JVM + test runner
戻り値が "Hello, Java!" か採点
課題で書き足すのは return "Hello, Java!"; の1行です。
1 / 2
← → キーでも送れます