30
26

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 5 years have passed since last update.

[Xcode]この素晴らしい(クソ)コードは誰が書いたのか調べる方法

Last updated at Posted at 2015-11-14

[Xcode]この素晴らしい(クソ)コードは誰が書いたのか調べる方法

初の記事投稿になります。

初記事に何を書こうかなと思ってたんですが,
意外と見ない人も多いのかなと思いまして。
知っている人は知っている内容です。

はじめに

複数でチーム開発とかやっていると一つのファイルを
複数人で編集することって多いと思います。そんな中,

この素晴らしいコード誰が書いたんだろう?
このクソみたいなコード誰が描いたんだ?

っていう経験が少なからずあると思います。
こういうのを Xcode で調べる方法についてです。
コンフリクトの話は今回は置いておきます。

Xcode の Blame 機能

初期段階では気にならないとは思いますが,ある程度プロジェクトが
進んで行くと機能追加,改修やバグ修正などでこのコードよくわからんぞーとか
なんて素晴らしい書き方なんだ!とかあると思う。
バグ改修とかでわからない場合は書いた人に聞くのが一番の早道。
でも GitLab とか Redmine とかで誰が担当したのか
調べてもよくわからないときもあるかと思います。

だいたい Git で管理してるプロジェクトが多いと思います。

bash
$ git blame filename

でもいいですが,視覚的に見た方がわかりやすいかなーって。
Xcode のツールバーの右側部分をいじるだけでわかってしまう訳です。
クリックしたら下記のような選択ができます。真ん中の Blame 機能が該当です。

スクリーンショット 2015-11-15 3.22.45.png

上の Comparison 機能は文字どおり比較です。
今作業中のブランチと切り元との差分とかを見たりします。
わりとよく使う機能なので割愛します。便利ですよね。

下はログです。こちらでも Commit したログがしっかり見れますが,
コード編集者となるとまだ絞りきれないかもしれません。

Blame を選択してみるとコーディングエリアの右側に編集者名,
いつ Commit されたものか,Commit のコメントも見れます。

スクリーンショット 2015-11-15 3.23.23.png

コメントアウトだけ変更して Commit したものですが,
別の日に 2 人で編集したんだとわかります。
マウスカーソルをボックス内に合わせると i ボタンが出てきて詳細も見れます。

スクリーンショット 2015-11-15 3.23.46.png

14 個も一緒に Add して Commit しているようですが当然ながら良くないですね。
この場合はプロジェクトを新規作成して最初の Commit なのでいいのですが。

コメントアウトの追加だけしたところは見にくいですが;・・

スクリーンショット 2015-11-15 3.24.23.png

しっかり見れますね。コメント内容が抽象的すぎたら困ってしまうかもですね。
今回は,コメントアウトを 2 行追加しただけならいい気もします。
通常業務,自分のアプリ作りでは次のことを心がけて作業しています。

心がけ

  • Commit のコメントの最初にチケット番号などを書くようにする
  • Commit のコメント内容は(当然ながら)見てわかるようにする
  • Commit はできるだけ分けて修正ごとにするようにする

まぁ当然っちゃ当然ですね。
Redmine や GitLab の MR 内で議論していたらチケット番号はありがたい。
コメント内容がわかりやすければそりゃ嬉しい。
多くの修正が含まれている場合該当箇所を探す際に困ったり,
深刻なバグが見つかったときの修正の際に大幅なコードLOSTもありうる。

おわりに

今回はコード書いた人がわかる Xcode の Blame 機能について書きました。
素晴らしいコード書く人がいたら尊敬して真似しよう。
バグ修正などで困ったときにチーム内に書いた人がいたら質問しに行ってください。
この記事のために username 新しいの add してしまったのは内緒。

ご覧いただきありがとうございます。

30
26
1

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
30
26

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?