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

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

日本語クラス名、メソッド名が問題となるのは海外との移植性の問題であって、俺は、個人としては適切な名前が付けてあるのなら、日本語メソッドはむしろもっと利用されるべきだとおもうけどね。 

2013-06-07 07:27:55
Hiroki Uchida @nikuyoshi

@sayurinu 日本人なら日本語で書いてもOKだと俺も思うんだけど、うちの部署には向いてないみたい。 具体的なメソッド名を知りたいw

2013-06-07 08:21:54
SHUJI @shuji_w6e

@nikuyoshi 申し訳ありませんorz 是非、詳しく教えて頂きたいです

2013-06-07 16:26:16
SHUJI @shuji_w6e

自分も書籍とかブログとか鵜呑みにしちゃダメだとは思うけど・・・

2013-06-07 16:29:17
Udon @datsuns

日本語メソッドいいなぁ

2013-06-07 16:39:26
SHUJI @shuji_w6e

日本語メソッド名のことか・・・そこは先に合意取るべき的なことは書いた気がする。基本的に「嫌だから禁止」って感情の話なんだと思う。理由に根拠はなくて、結論を理論武装しているだけ。とはいえ、論破しようとしても感情の問題だからなぁ

2013-06-07 16:41:29
あゆ たや @Ayutanalects

最初に受けたJavaの講義、教授の資料が日本語変数名・日本語メソッド名で!?!?ってなった記憶。

2013-06-07 16:42:22
SHUJI @shuji_w6e

テストというか開発は、「郷に入っては郷に従え」的なところはあると思う。プログラムチェックリストとかいうナゾExcelがテストと言い張る開発ならば、それがテスト。品質とかモチベーションとかそのあたりは別の問題。

2013-06-07 16:45:04
SHUJI @shuji_w6e

ただし、「別の郷に入って郷に従う」のも選択指だよね

2013-06-07 16:46:01
SHUJI @shuji_w6e

不幸を生み出してしまったことは謝りたい。

2013-06-07 16:47:03
なぎせ ゆうき @nagise

.@shuji_w6e まぁ事実、海外産のフレームワークなどで日本語クラス名/メソッド名で動かない例も少ないながらあったわけで「可能性がある」と言われればまったくその通りなんだけど、日本で日本人主体で開発してる場合に秤にかけてどっち取るのと言われるとねえ?

2013-06-07 16:49:10
SHUJI @shuji_w6e

とはいえ、「正しく動くこととか書いていたらテストじゃない」とか「カバレッジ100%にすることを目的にしない」とか、そういった話が活字としてあることは、誰かの武器になっていればいいな、と思う。

2013-06-07 16:49:14
SHUJI @shuji_w6e

@nagise ねー。それならばコメントも仕様書も全部英語でないと言っていること矛盾しますよね。

2013-06-07 16:50:52
ぐるぐる系SQL @bleis

プロダクトコードでは入力補完との相性が悪いから日本語メソッドとかやめてほしいけど、テストコードは自分で呼び出すのでもないのが普通だし、日本語でも問題は感じないなぁ

2013-06-07 16:51:54
せとあず @setoazusa

仕事はチームでするものだからねえ。ただ、VM/言語仕様/実行環境etcに対する無理解を「リスク」と表現して正当化するのはどうかと思う。

2013-06-07 16:52:45
なぎせ ゆうき @nagise

@shuji_w6e 昔、某オブジェクト指向データベースで日本語ダメだったことがあるんだけど、今時リネームは殆どノーリスクなのでリカバーできる範囲でしたね。社内公用語が英語になったらって言われた場合のリスクは確かにメソッド名だけ対応しててもしょうがない話かなあ

2013-06-07 16:53:13
SHUJI @shuji_w6e

「メソッド名を日本語にする」だと抵抗されるんだろうな。テストケースを日本語で書く、それはJUnitのメソッドに対応する、英語化するコストを削減して日本語のままにしよう!であれば、PM層には納得してもらえるんじゃないだろうか?

2013-06-07 16:54:05
なぎせ ゆうき @nagise

https://t.co/opXflQWsox 日本語に限らないけどIMEと入力補完の相性が悪いのは事実だねえ…

2013-06-07 16:54:43
なぎせ ゆうき @nagise

自動テストのメソッド名とプロダクトコードのメソッド名ではリスクが異なるのもまた事実。自動テストのメソッド名なんて入力補完は殆ど関係ないし、外部のフレームワーク的なリスクも少ない

2013-06-07 16:56:06
いヴ @evetan

@shuji_w6e 個人的なツボとしては英語環境前提のフレームワークとやらはWORAの思想に反して無いのかなぁ、と。まぁ、そもそもJavaのWORAってJVMさえ動いていればどの環境で書いたコードでもちゃんと使えるよ、と言う意味でしか無い気がしますが。

2013-06-07 17:00:22
なぎせ ゆうき @nagise

なでしこで関数名を日本語で書いて怒られることはない :-P

2013-06-07 17:01:14
せとあず @setoazusa

まあ、既存で英語で命名したテストコードがベースである時に日本語メソッド名で書くことは自分でもしない。

2013-06-07 17:02:04
なぎせ ゆうき @nagise

メソッド名の多言語という話になると、言語別のシノニムが定義できる必要があるという結論になる(個人的見解)

2013-06-07 17:02:06
asuki@非公式 @asuki_syobon

tlに日本語変数名だかメソッド名だかの話が…自分の経験だと デメリットはインテリセンスを殺す、フレームワークとの相性が不明、見た目がキモい。 メリットはドキュメントとの変換コストがない、grepビリティの向上、可読性と詳細設計書の需要低下とかかしら

2013-06-07 17:04:12
せとあず @setoazusa

UTF-8を通す環境で日本語メソッド名が通らなかったら、深刻な不具合だからリスクがどうこう言う前にバグレポートを出すべき(私見)

2013-06-07 17:04:21