ハンズオンのjfluteレビュー

概要

DBFluteハンズオンで、jfluteレビューを受ける方へ

環境構築

Gitリポジトリの準備

レビューワー・レビューイー双方がコミット権限のあるgitを用意してください。

以下の二つが考えられます。

  • A. レビューイーのGithubアカウントでフォークしてレビューワーに権限を付与 (公開レビュー)
  • B. 別のgitリポジトリにハンズオンをコピー (そして双方に権限を付与) (公開・非公開はgit次第)

(組織的にレビュー運用している場合は、大抵は "B" の可能性が高いので周りに確認をしましょう。複数人でリポジトリを共有するのであれば、それぞれ自分用のブランチを作成しましょう)

以下がオフィシャルリポジトリです。フォークもしくはコピーする場合はこちらから:

GITリポジトリ
https://github.com/dbflute-session/dbflute-hands-on.git
プロジェクト
dbflute-hands-on

gitignoreの調整

レビューワーもローカルで同じように動作させたいです。オフィシャルのハンズオンプロジェクトはコミットすることを前提としていないので .gitignore を調整します。 (すでに調整済のプロジェクトを利用される方はこちら不要です。周りに確認してみましょう)

まず、プロジェクト直下の .gitignore から以下のように除外対象を削除します。

  • Eclipse欄の /.settings /.project の2つ
  • DBFlute欄の /dbflute_maihamadb /mydbflute の2つ
  • application欄の /pom.xml の1つ

加えて、以下の.gitignoreファイルをまるごと削除します。

  • src/main/java/org/docksidestage/handson/.gitignore
  • src/main/resources/.gitignore
  • src/main/resources/org/docksidestage/handson/.gitignore
  • src/test/java/org/docksidestage/handson/.gitignore

除外対象を削除するということは、それをコミット対象にしたいということです。 主に、EclipseやMavenの設定、DBFlute自体、自動生成や手動作成されるJavaのクラスなどをコミット対象にします。 一方で、コミット対象にしないものの代表としては、MySQLの本体が挙げられます。(OSに依存するものは各環境で用意すべきなのでコミットしない)

レビューのやり取り

レビューコメント追加 by レビューワー

レビューイーがコミットしたことをレビューワーに知らせると、レビューワーの方でFetch&Pullしてレビューします。そして、以下のようなレビューコメントを入れます。

e.g. レビューコメント追加 by レビューワー @Java
// TODO you これはこうです by jflute
...

確認して修正したらdone by レビューイー

レビューイーは時折 Fetch&Pull してレビューの有無を確認し、優先して修正してください。 そのとき、todoコメントは done と一言入れて残しておいてください。 (todo自体を消すとどんなレビューをしたかわからなくなるため、todoは残しておきます)

e.g. 確認して修正したらdone by レビューイー @Java
// TODO done you これはこうです by jflute
...

お知らせ・読み物課題コメント by レビューワー

お知らせや読み物課題と言った、コードアクションではないtodoもあります。この場合は読んで理解できたらdoneをしてください。

e.g. お知らせ・読み物課題コメント by レビューワー @Java
// TODO you [お知らせ]こうなんですよぅ by jflute
...
// TODO you [読み物課題]このURLのサイトを読んでおいてください by jflute
...

わからないところがあったらtodo by レビューイー

飛ばして先に進んだり、できたけど自信がないとか疑問に思うようなところは、自分用のtodoコメントを入れておきましょう。ただのコメントだと後で忘れてしまうものです。

e.g. わからないところがあったらtodo by レビューイー @Java
// TODO you うーむー、ここがこれこれこうでわからん。ので後で
...

セクション1での補完テンプレートを入れていれば、_todo => ctrl+space でtodoコメントを補完できますので、ぜひ使っていってください。

聞いてみたいことがあったらtodo by レビューイー

コード上のtodoコメントで質問してください。_trev => ctrl+space で相手を指定するtodoを補完できます。 技術的な話をリモートで質問するのもトレーニングの一つです。背景や論点などを整理してしっかり伝えることができるか?まあ、気負わずにやってみてください。

e.g. 聞いてみたいことがあったらtodo by レビューイー @Java
// TODO jflute これこれこうでわからんのですが、これってこれこれこういうこと? by you
...

似たようなところが他にもないか探す by レビューイー

todoをされた箇所だけじゃなく、それと同等のコードが他にもあったらそちらも直すようにしましょう。

実業務でも、バグが出て直してすぐに別のところで全く同じバグがあって直して...の繰り返しはしたくないものです。 ひとつ指摘されたら似たようなところが他にもないか探す という習慣が大切です。

レビュー待たずに先に進む by レビューイー

jfluteのレビューは、夜中や土日が中心でいつできるかわからないので、レビューを待たずに先に進みましょう。

ただ、あまり先に進み過ぎるとレビュー指摘による横断的な手戻りが発生しやすいので、最初の頃はレビューを催促してください。逆に、手戻りが発生しないように、レビューをもらったらレビュー修正を優先しましょう。

帰る前にはコミット&プッシュする by レビューイー

ハンズオンは気軽にコミットして問題ありません(コンパイルエラーや警告が残ってないようにだけ注意)。 バックアップも兼ねて、帰る前にはコミット&プッシュしましょう。夜中にjfluteがレビューするかもしれません。

コーディングポリシー

jfluteのレビューを受けるために、ハンズオンのコーディングポリシーへの意識お願いします。