Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
12
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

Unityでチーム開発 流れやルールなど

はじめに

株式会社テクロスでエンジニアとしてアルバイトしてる大学生です。

アルバイトでUnityでのチーム開発を何度か行ったのですが、知見を文書化してなかったのでまとめてみようと思います。
似たような記事もあったけど全体的にまとまってはなかったりしたので、全体感持ちやすいように今回簡単にまとめてみました。

今回はUnityとGitHubを使ってチーム開発を行います。(この記事は初心者の方向けです)

チーム開発の流れ

簡単にざっくり言うと
Unityでプロジェクト作成→GitHubにレポジトリを作る→皆でcloneして開発
って流れになると思います。(当たり前か)

以下で各フェーズでの具体的な手法とルールについて確認していきます。

Unityでプロジェクト作成してGithubにレポジトリを作る

これはこちらのサイトがまとまってて非常に良い。
この記事の流れ通りに設定すればオーケーだと思う。
Unityプロジェクトだと.gitignoreも自動で作ってくれるので便利ですね、UnityとGitHub親和性高い。

レポジトリができたらREADMEにチーム開発のルール等まとめておくといいかと思います。具体的には、

  • Unityのバージョン
  • 最初の環境構築の流れを簡単にまとめる
  • コードの書き方でルール等あればまとめる

ぐらいですかね

  1. このリポジトリを各々forkする
  2. forkしたリポジトリをcloneする (clone したいディレクトリまでローカルで移動して"git clone http~")
  3. ローカルで作業用branchを作成 (git checkout -b (適当なブランチ名))
  4. 編集したらcommitしておく (git add ファイル名) (git commit -m "コメント")
  5. GitHubにpushする (git push (先) (元))
  6. pushしたらプルリク送る https://qiita.com/syougun360/items/013229aeddec08121474

これはUnityじゃない別のプロジェクトですけどこんな感じで書いてます。(Git初心者が多かったのでだいぶ分かりやすく書いてるけど)

コーディング規約は基本的にリーダブルコード様に従ってます。https://qiita.com/Kenya/items/faec4cc374edd5ffbba6
細かいですけど関数はスネークケース、グローバル変数はキャメルケースにするとかいうルールも決めてました。
コーディングルールはその程度決めておけばいいと思います。基本的にはリーダブルコードに則って、キャメルケース等の使い方を統一する程度で。

いざ開発

ここまできたらあとは開発するだけなんですが、複数人で同じプロジェクトをいじる時は絶対に図を作る必要があります。
完成のイメージ図、画面遷移図、シーケンス図、クラス図等必要です。皆の頭の中のイメージを統一させるためと、誰がどの作業をしているのか見やすいようにです。

どの図がどんなものかはこちらのページによくまとまってるのでご覧ください。

そもそもクラスが何かとかよく分かってない人はドラゴンボールで学ぶオブジェクト指向 改が分かりやすいです。

この図を作るのは難しいので何回も作って慣れるしかないと思います。図の作り方まとめてくれてるサイトいっぱいあるので、頑張りましょう!!

図も完成したらいよいよコードを書いて開発していくだけです!!
誰がコードレビューするのか等もルール決めしておくといいかもしれないですね。

おわりに

エンジニア初心者なので上手くまとめられてるか、間違ってないか不安です。間違ってたら教えてください。
また何か思い出したら追記します。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
12
Help us understand the problem. What are the problem?