無限大な夢のあと

テニスとアニメが大好きな厨二病SEのブログ

Scala@IntelliJで、不要なauthorコメントを削除する。

社内で毎週実施している輪読会で、チームギークを読む機会がありました。
その内容の中で、不要なauthorコメントを削除すべきという記述もあり、個人的にとても共感できた内容でした。
該当箇所はP56の以下の箇所です。
2章
2.8 エンジニアリングとしてのコミュニケーション
2.8.2 ソースコードに名前を書く(別名:「Authorタグ」問題)
です。

ソースファイルに名前を入れると、あくまでも僕たちの意見だが、百害あって一利なしだ。

具体例については、チームギークの中の書籍をご参照ください。

Team Geek ―Googleのギークたちはいかにしてチームを作るのか

Team Geek ―Googleのギークたちはいかにしてチームを作るのか

今回は実際にツール作成もしない簡単な手順で、IntelliJ@Macでこのauthorコメントを削除する手順を共有したいと思います。
また、今回対象のプロジェクトはScalaで書かれているものですが、少し応用すれば、他言語でも適用できるはずです。

実施手順としては以下です。

  1. IntelliJでshift+command+Rで置き換えダイアログを出す。
  2. Generalタブで「Regular expression」にチェックを入れる。
  3. Generalタブで「Case sensitive」からチェックを外す。
  4. Contextは「in comments」を選択。

以下のパターンをそれぞれ実行。

パターン1

  1. [Text to find:]に「^.*created by.*\n」を入力。
  2. [Replace with:]に空白を入力。
  3. 置換する。

パターン2

  1. [Text to find:]に「^.*created with.*\n」を入力。
  2. [Replace with:]に空白を入力。
  3. 置換する。

パターン3

  1. [Text to find:]に「^.*User:.*\n」を入力。
  2. [Replace with:]に空白を入力。
  3. 置換する。

パターン4

  1. [Text to find:]に「^.*Date: 2.*\n」を入力。※2を入れるのは他のものが誤って消されないようにするため
  2. [Replace with:]に空白を入力。
  3. 置換する。

パターン5

  1. [Text to find:]に「^.*Time:.*\n」を入力。
  2. [Replace with:]に空白を入力。
  3. 置換する。

パターン6

  1. [Text to find:]に「^.*Timestamp:.*\n」を入力。
  2. [Replace with:]に空白を入力。
  3. 置換する。

パターン7

  1. [Text to find:]に「^.*To change this.*\n」を入力。
  2. [Replace with:]に空白を入力。
  3. 置換する。

パターン8

  1. [Text to find:]に「/\*\*[\s]*?\*/」を入力。
  2. [Replace with:]に空白を入力。
  3. 置換する。

パターン9

  1. [Text to find:]に「/\*\*[\s]*?\*[\s]*?\*/」を入力。
  2. [Replace with:]に空白を入力。
  3. 置換する。

IntelliJのバージョンによって、authorコメントの書き方が違うので、上記のような手間のかかる手順となりました。
ぜひ活用してください。

[免責]
この手順の利用は自己責任でお願いします。
この手順を利用して起こったいかなる不都合も作者は保証しません。

Scalaスケーラブルプログラミング第3版

Scalaスケーラブルプログラミング第3版

Android Studio本格活用バイブル ~効率的にコーディングするための使い方

Android Studio本格活用バイブル ~効率的にコーディングするための使い方