Skip to content

Cammelの開発における共通言語

kugi edited this page Nov 26, 2020 · 14 revisions

目次

スプリント

「三日坊主の四日目」における1スプリントは1週間です


Issues

Issueのテンプレートを元にバックログアイテムを記入します。 内容はスプリントプランニングの際にチームで話し合い決めます。

  • 概要
    • 詳細なTODO : このバックログアイテムを達成するのに必要なタスクを記入します。

      タスクはより詳細で具体的であることがのぞまれます。

    • モック画像 : システムの構成やUIの構成を簡単に示す画像を追加します。

Projectsの項目でKanbanを選ぶのを忘れずに!

タグ

  • documentaion : Flutterの知見を共有するIssue

  • bug : アプリケーションに対する致命的な問題を示すIssue

    Closeした後はBug Logs🐛

  • enhancement : このアプリをよりよくするためのIssue バックログアイテムよりは優先度低め

  • hotfix : とりあえずの実装で済ませているものに対するIssue

  • release : リリース関連のIssue


branch

  • master : リリースされた状態のブランチです。開発では触りません

  • develop : 開発ブランチです。ベースはこのブランチになります。

  • develop_#{IssueNumber}_{update-name} : 各作業を行うブランチです。(例:develop_modify-UI)

    単語は-(ハイフン)で区切ります。

    追加でブランチを派生させる場合は、develop_{update1-name}_{update2-name}とします。(例:develop_modify-UI_change-color)

  • fix_#{IssueNumber} : バグ修正を行う際のブランチです。

  • hotfix_#(IssueNumber) : hotfixに関する作業ブランチです。

  • enhancement_#(IssueNumber) : enhancementに関する作業ブランチです。

  • release_{Discription} : リリース用の作業ブランチです。


PR(Pull Request)

ブランチを作成したタイミングで

git commit --allow-empty で空コミットを打ち、

git push -u origin {develop_update-name} で空コミットをGitHubのリモートリポジトリにpushします。

-uオプションは省略しても良いですが、省略した場合、pushの度にgit push origin {develop_update-name}と指定する必要があります

作成されたブランチからPRのテンプレートを元にPRを作成します。

バックログアイテムの情報

PRに紐づくバックログアイテムのIssue番号を記載します。PRの作成者、テスターを@{github-id}で記入します。

テスターは

  • ペアプロの場合、ペアプロをした人以外のメンバーから2名
  • モブプロの場合、ペアプロに参加できなかったメンバーを優先して2名

指名します。

タスク

バックログアイテムのタスクを達成するために必要になる技術ベースでのタスクを記入します。

テスト

上記のタスクに対するテストを記入します。

テストはテスターが行いますが、メンバー全員の環境で実行できていることがのぞまれます。 メンバー全員が実行できるかの有無はPRに影響はないですが、自分の環境で動かない場合や、実装に対する疑問などはどんどんPRに記入していきましょう!!

Reviewer

レビュアーはテスターと同じです。 テスター(レビュアー)を指名した際には、Reviewerの項目から指名した2名を選択し、 レビューをお願いするコメントを@{github-id}を付けPRに追加してください。 (Slackでも通知すると確実です)

指名されたレビュアーはテスト項目にチェック、コードレビューを行った後にApproveをしてください。 ApproveやコードへのコメントはFiles changedの項目から追加できます。

Merge

マージはタスク、テストの項目に全てチェックがついている状態で、レビュアーからのレビューが全てApproveされていれば気づいたメンバーがマージして良いです。

マージしたことはSlackで報告しましょう。


ディレクトリ構成

lib
├── Pages
│   ├── [HogeFuga]Page            // ページはそのページ名のディレクトリ(フォルダ)直下
│   │   ├── [hoge]_scren.dart     // ページに表示するWidget(部品)を書くファイル
│   │   └── [hoge_fuga]_page.dart // 表示するページのファイル(これが本体)
│   └── MyPage
│       ├── SideMenu
│       │   └── sidemenu.dart
│       ├── home_manager.dart
│       ├── record_form.dart      // Widget単体のときはそのWidget名(ここではform)
│       ├── records_screen.dart
│       ├── signin_screen.dart
│       ├── signout_button.dart   // ここではbutton
│       ├── teams_dropdownbutton.dart
│       ├── teams_screen.dart
│       └── to_teampage_button.dart
└── main.dart