日本語テストメソッドについて16. Entity Framework の例
※DatabaseInitializerTests .cs
[Fact]
public void
DropCreateDatabaseIfModelChanges_throws_if_database_e
xists_and_model_does_not_match_with_Migrations_enable
d()
{
// DB マイグレーションが有効に設定してある場合、
// DB が既に存在し、かつ EF が認識しているモデルと
// DB スキーマが異なると例外がスローされることを確認
}
19. 日本語の例(Entity Framework)
[Fact]
public void DBマイグレーション有効時
DropCreateDatabaseIfModelChangesはDBが存在しかつス
キーマが異なると例外をスローする ()
{
}
[Fact]
public void
DropCreateDatabaseIfModelChanges_throws_if_database
_exists_and_model_does_not_match_with_Migrations_en
abled()
{
48. ソース
* テストメソッドを日本語で書くことについて - togetter
http://togetter.com/li/514903
* 読書会(Junit実践入門)第1回議事録
http://www.javareading.com/bof/junit1.html
* [Java] 内部的にunicodeだから日本語つかえるけど・・・いくら英
語苦手だからって・・・ - ウンコードマニア
http://unkode-mania.net/view/5029e1a9eef2c7f861000008
* その他多くのブログ
※全てがテストコードについて語っている訳ではありません。
50. 否定派
├─とにかくコードに日本語は使っちゃだめだよ派(原理主義)
│ ├─個人の趣味を持ち込まないでくれるかな、こんなコードを規約で認める現場があると思う?
│ ├─信じられない、見た目がキモイ
│ └─日本語アリって言う人、動けばいいって考え方なのかな。
├─問題起こるからやるなよ派(穏健派)
│ ├─フレームワークやツールによっては使えない可能性があるよ
│ ├─英語が社内公用語になれば確実に改修対象になるからやるなよ(楽天派)
│ └─海外にオフショアできなくなるよ
├─日本語使いたいならなでしこ使おう(過激左派)
├─ローマ字でメソッド書けば?(過激右派)
└─良く分かってない人が変な難癖付けてくるよ派(事なかれ主義)
肯定派
├─日本語でもいいんじゃない(穏健派)
│ ├─自分は書かないけど、テストコードで他の人が書く分には止めないよ
│ └─テストコードは呼び出すのでもないのが普通だし、日本語でも問題は感じないよ
├─積極的に日本語にしよう(主流派)
│ ├─何をテストしているか分かりやすくなるよ
│ ├─日本語メソッド名を禁止すると説明不足な英語かローマ字メソッド名になるだけだと思う
│ └─海外にオフショアされるのを妨害できる
├─日本語の方がマシだよ派
│ ├─1テスト対象に複数テストメソッド用意する事は珍しくない。全部英語でなんて書いてられない
│ └─連番にしたりなんちゃって英語にして日本語コメントで補足するよりマシ
└─C#は数字で始まるメソッド名や、メソッド名に句読点を使えないのがクソ(でもC#は嫌いだよ派)
61. Web 上の意見まとめ
## 否定派
* そもそも日本語を使って欲しくない
* 移植性やフレームワークに対するリスクを取れない
* オフショアなど日本人以外との開発に問題
* 「わかりやすさ」に求められる要件は別の形で満たすべき
## 肯定派
* メソッドに日本語ダメなのにコメントは日本語いいの?
* わかりやすい
* 無理な英語よりマシ
* やるにしても、チームとの合意を取るべき