編集可能

テストメソッドを日本語で書くことについて

JUnit実践入門という書籍で推奨されていた「テストメソッドは日本語でもOK」ということについて。
37
Hiroki Uchida @nikuyoshi

JUnit実践入門で書かれていたことを実践したら先輩に怒られて戸惑った。 本を鵜呑みにしすぎるといけない場合もあるんすね…。

2013-06-06 23:48:26
Hiroki Uchida @nikuyoshi

1. 日本語メソッド名だとフレームワークやツールの使用がNGになるリスクが高く、個人ならまだしも業務で使用する場合はNG

2013-06-06 23:53:27
Hiroki Uchida @nikuyoshi

2. Javaは"Write once, run anywhere"の思想にも関わらず日本語メソッド名だと移植性が失われる可能性がある。

2013-06-06 23:54:29
Hiroki Uchida @nikuyoshi

3. 英語が社内公用語になれば確実に改修対象

2013-06-06 23:55:19
V @voluntas

@nikuyoshi java でテストで日本語名は別にいいと思うけどなぁ。

2013-06-06 23:58:44
Hiroki Uchida @nikuyoshi

普通に考えて日本語メソッドとか見たことないのに何で書いちゃったんだろ…。 本を鵜呑みにしすぎだろ…。

2013-06-06 23:58:53
V @voluntas

@nikuyoshi コメントは英語なの?ドキュメントも? 不思議な理由だ。。。

2013-06-06 23:59:36
Hiroki Uchida @nikuyoshi

コメントを最後まで読みなさいと言われて、このURLを教えて頂いた。 http://t.co/k3DKEZZ1mQ

2013-06-07 00:03:22
Hiroki Uchida @nikuyoshi

@akihiro_tnk 本当にそれw 俺センスなくて死にたいww

2013-06-07 00:03:44
Hiroki Uchida @nikuyoshi

@voluntas 僕もそう思って書いたら呆れられましたw プロダクトコードでは日本語メソッドは一切ないですね…。

2013-06-07 00:06:03
V @voluntas

@yuroyoro 正直びっくりした。。。何だよその理由レベル。

2013-06-07 00:06:28
極限生命体しいたけNA @yuroyoro

JUnitもTestNGも日本語OKだし、テストコードに日本語メソッドがあると移植性がなくなるって意味がわからない。移植性ってなによ?

2013-06-07 00:06:57
V @voluntas

@nikuyoshi それは誰もやって見ないからじゃ。。。

2013-06-07 00:07:27
V @voluntas

@nikuyoshi じゃあ公用語が英語になったら書き直しだね

2013-06-07 00:08:13
Hiroki Uchida @nikuyoshi

@voluntas とりあえず周りに倣ってコード書けと教わりました。 気をつけます…。

2013-06-07 00:10:53
V @voluntas

@nikuyoshi 何でも鵜呑みにしない方がいいよ

2013-06-07 00:11:50
Hiroki Uchida @nikuyoshi

リツイート先で僕が言ったみたいな解釈されてるので一応断っときますが、僕は教わったことを書いただけです…。 思想の衝突コワイ。

2013-06-07 00:14:41
Mitsuyuki Shiiba @bufferings

公用語が英語のとこは日本語メソッド使えないなんて大変だなー。僕なんて今日も日本語テストメソッド書きまくったわー。(え https://t.co/HNWxTRjGVZ

2013-06-07 00:14:52
Hiroki Uchida @nikuyoshi

@sakito0426 思想によるんだろうねぇ… うちの環境だとあり得ないみたい

2013-06-07 00:18:55
かしまかずお @k4200jp

日本語メソッドをみんな余り使わないのは、技術的な理由じゃなくて、対応してるか確認するのが面倒だったり、実際使ってみたら、良く分かってない人に変な難癖付けられるのが面倒だからって気がする。

2013-06-07 00:20:19
seraphr @seraphr

日本語メソッド名は、入力がめんどくさい以外はなんの問題もないと思うよ! という感想。 自分は書かないけど、テストコードで他の人が書く分には止めはしない。

2013-06-07 00:22:11
たろう @ngsw_taro

日本語メソッド名使いたいシーンってテスト書くときだよね。日本語メソッド名を禁止すると説明不足な英語メソッド名になるか、おじさん得意のローマ字メソッド名になるだけだと思う

2013-06-07 00:32:12
Toshiyuki Takahashi @tototoshi

日本語メソッド、コードレビューで日本語の乱れを指摘されそうでこわい(震え声)

2013-06-07 02:00:44
残りを読む(38)

コメント

sue445 @sue445 2013年6月7日
この先輩は後輩が自分が見たことのないコードを書いてたからダメ出ししてみただけな気がする。2.Javaは内部がUNICODEなので日本語のままでも一応動く。3.そんなあるかどうか分からない未来を言われてもなぁw
3
sue445 @sue445 2013年6月7日
テストメソッド名を連番にしたりなんちゃって英語にして日本語コメントで補足するくらいなら、テストメソッド名を日本語にするかGroovy使った方がいい気がするw
3
SHUJI🐊106 @shuji_w6e 2013年6月7日
@tototoshi 実はそれも日本語メソッド名の効果です。曖昧なテストケース名はテストコードも曖昧ですから。
0
たるたる @heporap 2013年6月7日
識別子に使用できる文字は何か、という言語依存ではないですかね。でなければ、半角カナを使って勘違いや間違ってShift_JIS(またはLaten-1)で保存したらコンパイルでエラーはきまくり、とか。
0
たるたる @heporap 2013年6月7日
かんすう(5);と書いた時に全角と半角の切り替えが面倒とか、()を半角にし忘れたとか。
0
Tsuyoshi CHO @tsuyoshi_cho 2013年6月7日
テストケースならまあ、やたら記述することはないかな。とはいえ、補完も厳しくなるし、Win/Macだと結合文字の関係で面倒になったりして(UTF-8なら平気か?) あと、コンパイル結果に影響するコードと消えるコメントの比較はナンセンス、かな
0
sesamechang @sesamecake 2013年6月7日
ただただ美しくないから使わないかな・・・
0
ITDOREIKUN @ItDoreikun 2013年6月8日
弊社ではコメントは日本語、実装はアルファベットと規約なので、例えば電文解析クラスならclsDenbunKaisekiとなります。cDnbnKiskとなることもあります。
0
せとあず @setoazusa 2013年6月8日
tsuyoshi_cho 念のため指摘なんですが、(Javaの場合)UTF-8のコメントにShift_JISでコンパイルかけると通らなかったりしますし、デバッグ情報の行番号もありますから、コメントがコンパイル結果に影響しないとは言えないのではないかと、
0
おもち @Omochi_Oshushi 2013年6月8日
コメントが日本語でそれ以外が英語だと思ってたけど、そういうわけでもないのね。ただ、なんとなく英語で書いたほうが綺麗に見えるというか、なんというか
0
Tsuyoshi CHO @tsuyoshi_cho 2013年6月8日
setoazusa まあもちろんそうですが、そもそもコンパイルが通らなくなる気がしますので(というかそこは気をかけるでしょうし)、その段はあんまり問題じゃないかなーと。実行の段で不具合だすか、そもそも記述しにくい/できないのがマズいかなと。
0
Tsuyoshi CHO @tsuyoshi_cho 2013年6月8日
あ、なんか記述が変だな。ただ、プロジェクトで日本語コメントのために、文字コードの統一はしてると思うし、ならまあそこはいいかなと。
0
頭文字爺 @initial_g3 2013年6月8日
日本語メソッドは海外にオフショアする時問題になる。(逆にそれを妨害できる訳だが。)コメントだけなら、コードに日本語を使っている場合に比べて、対策に要する手間暇は格段に少なく済む。
0
引きこもり持田 @mike_neck 2013年6月10日
クラス名・メソッド名はローマ字にすること、かつ規約で「こ」は「ko」とするとかにしているプロジェクトに入ったことあるけど、「業務コード」とかが「gyoumuKodo」とか書いてあって、逆に読みづらかった記憶がある。
0