0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Plastic SCMを使ってみようと思った⑥

Posted at

はじめに

前回の記事で盛大な回り道をしてしまったので、今度こそコードレビュー機能を試してみたい。

コードレビュー概要

こちらのサイトでPlastic SCMのコードレビューについてざっくり説明されているようです。
Google翻訳に頼りながら内容を解読してみますと、コードレビュー機能はブランチかチェンジセットに対して作成できるようです。なのでまず、ブランチを作って適当なソースコードを足してみようと思います。

コードレビュー用のブランチを作成

というわけで早速、AddCodeTestというブランチを作ってみました。
image.png

コミットするファイルを制限できるのかな?

ここでコードを足す前に、ふと気になったことは.gitignoreのように、チェックイン対象にするファイルを制限できないかなということ。これはないと地味に……いや派手に不便です。
調べてみたところ、この情報が見つかりました。

要するに、ignore.confというファイルを作って、その中に制限するファイルの拡張子などを設定し、リポジトリに追加してやれば大丈夫そうです。

というわけで、上記の記事の内容通りのignore.confを作ってチェックイン……しようとしたのですが、confファイルは基本的に無視されてるみたいです。基本的にはローカルファイルとして扱う感じなんでしょうか。
image.png
でもまあこういうものはプロジェクト全体で共通のものを使うことが多いはず。というわけでconfファイルを右クリックしてみたところ、管理に追加することができました。
image.png
image.png
あとはこいつをチェックインしておしまいですね。
image.png

今度こそコードを追加

ignore.confがUnity向けのフィルタ設定だったので、C#のコードを適当に追加してみることにします。Unityで新しいC#スクリプトを追加したときに作られるNewBehaviourScript.csを足します。
チェックインコメントを書いて、チェックイン&Push!
image.png
image.png

チェンジセットに対してコードレビューを追加する

先程の変更に対して、コードレビューを追加してみます。現在のブランチを選択して右クリックしたら「New code review for this changeset...」で追加できそうです。
image.png
というわけでそれをぽちっと実行すると以下のコードレビューウィンドウが表示されました。
image.png
また、左メニューからCode reviewsタブを開くと、先程追加したコードレビューが表示されるようになっていました。
image.png
この情報はチェックインなどを行わなくて良い(変更として表示されない)ので、追加するだけで全体で共有できるようになるのかな?と思われます。(未確認)

実際にレビューしてみる

今このリポジトリをいじっているのは私だけなので一人芝居になりますが、レビュー機能を試してみましょう。

というわけで、コードレビューウィンドウのソースコードにコメントを付けてみます。ソースコードの右端のバーにプラスマークが表示され、好きな行にコメントを追加できるようです。
image.png
コメントのタイプは「変更要求」と「質問」の2つがあるようです。
image.png
image.png

質問してみる

質問のコメントを付けてみました。
image.png

変更要求してみる

次に変更要求のコメントをつけてみました。こちらは質問のコメントと違ってコメントのIDが表示されました。レビューに対処するときに使うんですかね?
image.png

質問に答えてみる

質問のコメントはレスした段階でPendingではなくなるようですね。
image.png

変更要求にレスしてみる

こちらはレスしただけではだめなようです。(当たり前)
なのでここはコードを変更してチェックインして、変更要求に答えてみます。
image.png

レビューに対応してチェックインする

早速レビューで(自分で)コメントした内容である「クラス名が悪い」というのを修正します。といってもNewをSampleにしただけですが。
というわけでその変更を加えてチェックインした結果がこちら。コメントを消してクラス名を変更しています。
image.png
……あれ?そういえばコードレビューってチェンジセットごとに設定されているから、どうやって修正したことを反映するんだろう、と思っていたら、アプリの説明部分が教えてくれました。
image.png
どうやらコードレビューを解決するためには、チェックインのコメントに[apply-change:(コメントのGUID)]を書き込まないといけないようです。なるほど、だから変更要求のコメントにIDが表示されていたのか……。

ひとまずあまりお行儀が良くない方法ですが適当な変更を加えて上記のコメントを書いてみたところ、無事変更要求のコメントがPendingから解決状態になりました。
image.png
image.png
ちなみにチェックイン時のコメントを編集できるみたいだったので、最初に誤ってチェックインしたコメントを編集して上記のタグを書きこんでみたのですが、Done: cs6の部分が変化しませんでした。コメントの変更がサーバに反映されてないのかなあ……?

レビューを終わらせてみる

変更要求した内容も反映されたのでレビューはおしまいです。コードレビューウィンドウの上の方にある状態をレビュー済みに変更します。(変更要求したときはRework requiredにしてました)
image.png
その状態になると、コードレビュータブで表示されるときの色が安全カラーな青に変わりました。基本的にこのリストをすべて青色にしながら運用していく感じですねきっと。
image.png
また、レビューした人orグループも指定できるようです。コードレビューウィンドウの右上で設定できました。
image.png
個人を設定できる以外にグループが指定できるのは、名前を出すと厳しい指摘をするときに遠慮してしまうのを避けるためとかでしょうか。

おわりに

ざっくりとコードレビュー機能を試すことができました。
コードレビューの情報がどういうタイミングで同期されてるのかなど一人でいじっているとよくわからないこともありますが、なんとなく使えました。もっと多人数でハードに使ったら違う見え方をするかもしれませんが。

感想としては総じてわかりやすく直感的で使いやすいなあと思います。
プルリクのようにレビューを通らないとマージができない、のような強い仕組みではないかなと思うので、そのぶん運用に合わせてルールを作る必要はあるのかなとは思いました。
個人的には気楽に使えるという感じがして好感が持てました。上手に運用できる方法を考えて使えたらいいなーと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?