はじめての共同開発
from Python勉強会
目標
共同開発の体験をする
Git、GitHubなどの使い方を実践するのが目標です
レベル分けがあってもいいと思います
レベルの例t6o_o6t.icon
Lv1
ソースコードがすべてある状態
ファイルを作成、コピーアンドペーストするタスク を行う
Lv2
ソースコードに穴がある状態
テストは開催者側で書いておく
Lv3
ソースコードは無し
仕様(関数のインターフェースと、行ってほしい処理内容)が書かれているだけ
テストは既にあるのでこれを通してもらう
考えられる方法
レベル分けを開発の最初の時点で選ぶ
レベルを個々人で選ぶ
例
Aさんは、cist.pyは仕様を元に自力で書いたが、it.pyはソースコードの穴埋め形式を選択した
Aさんはこの場合、途中まで書かれたit.pyをダウンロードして、それに追記する
BさんはPythonがまったく分からなかったが、いくつかのソースファイルをプロジェクトにコピーペーストした
これがいいかもt6o_o6t.icon
Pythonをチョットダケやってすぐにアプリ開発するのは難しいので
概要
1. 先に開催者側でアプリを作っておく
2. 3人1組のグループを作る
3組ぐらい(9人)が現実的かなt6o_o6t.icon
サポートを考慮すると
各組1人、開催者側のメンバーがいたほうがよい
役割
困ったときにヒントを出す
進行が滞ったときに流れを元に戻す
3. タスクを割り振る
各人のレベルに合わせて、担当するファイルや、作業量を決めていく
組の担当者が話し合いを仲介するとスムーズにいくと思うt6o_o6t.icon
と思ったけど、難しい気がするt6o_o6t.icon
多分3人分のタスクリストを作って、どれをやるか選んでもらったほうがよい
どれも前提知識は仮定しないけど
タスク
締切が決まっている
4. タスクの順番を決める
5.タスクを実行する
どのようなアプリを作るか?
WebアプリはWebというのが前提知識とするには大きすぎる感じt6o_o6t.icon
Qtでカレンダーのアプリでも作る?t6o_o6t.icon
Qtを考えた理由
GUIがあると面白い
カレンダーに理由はない
Todoアプリを先に思いついたけど、Todoアプリに分担とかなくなくない?
分担するために
複数領域を分担していくのがよいのかな?
データをカレンダー表示する係
天気予報を取得する係
座学はどこまで必要か?
10分ぐらい、スライドを使ってGitやGitHubについて説明するとよいかなt6o_o6t.icon
そのスライドはいつでも確認できるようにする
Scrapbox・・・使おう・・・・t6o_o6t.icon
説明は早めに切り上げて、各組の担当者が補足説明をしなから実践したほうがよいと思うt6o_o6t.icon
共同開発に必要なことはまだあるのでは?
ドキュメント
コミュニケーション