読者です 読者をやめる 読者になる 読者になる

初代Masteries

きっとモヒカンにもなれないお前たちに告げる!!!

CodePrepがリリースされました.

いつも就活でお世話になっている株式会社ギブリーシープラスタッフが, CodePrepというサービスをリリースしました.

早速いろいろ触ってみたので, 現時点で気づいた点とか諸々を書いてみようかなーと思います.

細かい作り込みはまだまだ

結構突貫で間に合わせた感じがあるので, 細かい部分の作りこみはまだまだ足りてないなあ... という気がしました.

問題文が微妙

「スライドショーアプリ」のコース1の問題文を引用すると...

スライドショーアプリ
course1. 関数に慣れよう
HelloWorld関数が呼び出され、画面に「Hello World!!」と出力されています。スライドショーを作る第一歩として、window.onloadに定義されているfunctionの中でChangeImage関数を呼び出して、1枚目の画像を出力してみましょう。また、不要になったHelloWorld関数は削除しましょう。

問題文が長すぎて, ちょっと読みにくいです. というか読む気がちょっと失せます.
で, サラサラーっと流し読みして大事な所を読み飛ばすと, 正解できなくなってしまいます.
この問題の場合, 「不要になったHelloWorld関数は削除しましょう。」を読み飛ばしてしまって, ちょっと苦労しました.

なので, このように問題文が長い場合, この後に,

1. window.onliadに定義されているfunctionで, ChangeImage関数を呼びだそう.
2. 不要になったHelloWorld関数を削除しよう.

みたいな感じで, 問題の概要を書いてあげるといいかなー, と思います.

解説があればもっといいかも

問題に正解した後に, その問題の解説とかあればいいかなー, と思います.
例えば, 「このコースで使った関数xxxはこういう機能があって...」とかとか.
今のスタイルだと, 「なんとなくでいいから作りたいなー」という人はOKだと思いますが, 「ちょっとずつでもいいから, コードの意味を理解していきたい!」という人は自分で調べる必要があって苦しくなると思うので, そのあたりをサポートできればもっとよくなると思います.

トラック中断の方法がわかりにくい

右上のボタン(?)を押せば中断できるのですが, 最初どこを押せばいいのかわからなくてちょっと戸惑いました.
「トラック中断→」とか書いておいた方が親切かなあ... という気がします.
あるいは, 左上のCodePrepのロゴを押しても中断できる(中断して, CodePrepのトップページに戻る), とか.

バグ? 仕様?

バグかもしれないけど仕様と言われればまあそんなもんか, という点もいくつかありました.

リセットすると最初まで戻ってしまう

これまでの作業をリセットする機能があるのですが, 各コースの最初ではなく, そのトラックの最初に戻るようです.
個人的には, 「前のコースの正解コード」に戻るとかの方がいいかなー.... と思います.
ただ, それぞれのユーザの解答を覚えておいて, それに戻す... というのは大変だと思うので, 理論値(?)というか, 「その前のコースの, 理想的な解答コード」に戻すとか, そんな感じはどうでしょう.

現在のシステム上, 「次へ進む」ことはできても「前に戻る」ことはできない(多分)ので, 過去のコースの問題文を見ることができず, 結果として積んでしまいます.

トラックの進捗度が戻ったりする

一度解いたトラックを再び開発して, すぐに(最初のコースで)トラックを中断すると, プロフィールページに表示されるトラックの進捗度(言語やレベルの左側の○の中)が再び表示される('33%'みたいな感じで...)ようです.
そのトラックを一度完成させているなら, 再度開発するときは進捗度は表示しなくてもいいと思いました.

今後の課題

先ほどの細かい点の修正・調整ももちろんですが, 一番の課題は「問題の数とクオリティーを高めていく」ところではないかと.

CodePrepは, 「こういうのを作れますよ!」というのを提案して, これを見たユーザが「あっ, これ作ってみたい!」とチャレンジして, その中でプログラムのコツを学んでいく場所だと思うので, そのチャレンジの「きっかけ」となるトラックの数(ジャンル, 種類)は結構重要になってくると思います.
ただトラックを乱造した結果, その中から何も学べないトラックが出てくる... となってしまうと, CodePrepが存在する意味が0になってしまうので, トラックで扱う内容のクオリティも大事になります.
...まあ, この辺は開発スタッフの面々は言うまでもなく理解していると思うので, 全然心配はしていませんけどね!

あとはJavaScript以外の対応ですねー.
JSはクライアントサイドでうんたらかんたらできますが, 他の言語はどうしてもサーバサイドでいろいろする必要があるので難しいとは思いますが, PythonとかPerlとかRubyとかPHPとかも対応できれば最高ですね.
もしPerlが対応したら, そのときは問題を投稿したいなーと思います!

シープラはかなり優秀な人材が揃っているので, これからCodePrepがどう進化していくか楽しみです.
今後もいちユーザとして, いろいろ感想だったり意見だったり発信していきたいなーと思います.