[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
ただいまコメントを受けつけておりません。
私は仕事で開発者向けの研修を担当している。研修には合否判定試験があり、そこではソースコードレビューを行う。しかし、これがなかなか大変であり、時間がかかる。受講生がたくさんいた場合は夜遅くまで会社に残ることになる。そこで、ソースコードレビューを自動化したいがなかなかうまくいかない。gjslint 等を導入してはいるが、壊滅的に [自主規制] なコードはそれだけではフィードバックできないのだ。
そんな経緯で綺麗なコードは自動採点にお任せ、壊滅的なコードはキチッと目視確認して丁寧にフィードバックする、というアイディアが出てきた。だが、採点対象が壊滅的なコードが否かを測る手段が難しい。その為の手段として今検討しているのが plato と呼ばれるライブラリである。
HTML によるレポートと json 形式の情報の双方を出力する。
HTML の形式は jQuery を使ったサンプルがあるのでそれをみると感じがつかめるだろう。
JSON 形式はファイルごとに分割して出力される。HTML でも各ファイルごとのレポートが出せるが (例: jQuery の src/ajax.js)、各ページの元になっているようだ。各ファイルごとに以下の情報が出力されていた。
今回の場合 complexity が主要な情報となるわけだが、情報が多い。とりあえず、 effort という値が大きければ大きいほどコードは複雑さを増し読みにくくなる。これはコードの長さと複雑さを乗算した値なので、これを使うのが一番評価は容易だと思われる。より詳細な評価や関数ごとの評価も出力されているので、使えばより細かく評価をやれそう。
提出された各ソースコードに対して effort の値を出力、一定以上ならば手動で評価するように採点者には依頼し、そうでなければ自動採点で済ませる。どこをラインにするかは難しいが、そこはもはや自動採点と手動採点を並行運用して見つけるしかない……
ただいまコメントを受けつけておりません。