-
Notifications
You must be signed in to change notification settings - Fork 102
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ch11-01 用語:assert は「断定する」ではないのでは #122
Comments
Wikipediaではプログラミングの文脈での「assertion」は「表明」と訳されているようです:https://ja.wikipedia.org/wiki/%E8%A1%A8%E6%98%8E |
Wikipedia のその記事の主題はソフトウエアテストにおける assertion とはちょっと違うような気がしますがどうでしょうか。 assertion → アサーション,assert →アサートする,でもいいような気もします。 |
訳者です。もともと「アサートする」となっていたのですが、これは訳になっていない(日常的に使わない表現であり、普通の人には説明なしでは意味がわからない)ので、訳出しようとした結果「断定する」としました。「主張する」でも構わないかと。ちなみに、
とおっしゃっていますが、どうしてその含みがあると訳語としてあっていないのでしょうか?プログラムを書いた時点でassert文の内容が正しいはずだと「判断・判定」していると思うのですが……。 あと、@taiki-e さんの上げてたassertionの例についてですが、 @scivola さんは
とおっしゃっていますが、同じものだと思う(なので訳は「表明」でもいいかも)のですがどうでしょう?どのように違うとお考えですか? |
判断や判定というのは証拠とか基準(判断基準)とか論理といったものに基づきますが,ソフトウエアテストにおける assertion は「こうでなければならない」を記述したものなので,違うだろうと思ったんです。 assert_eq!(foo(3), 0); と書いた人は,「 Wikipedia の「表明」のページに書かれているのは,プログラムの(関数などの)内部に,ありえない状況を検出するコードを仕込んでおくとバグが早期に発見されやすい,という話ではないでしょうか。 |
理解しました!たしかに、テストを書くという文脈においては「論理的判断」より「仕様の主張」の方が近そうですね。 |
assertの類義語を探してみた結果、insist / declare / allegeなどがあります。「言い張る」の印象です。 上記のWikipediaページの脚注から日本語の三つの参考に沿ってみた結果: バラバラです(汗)。 Microsoftのもとの英語を読んだら、assertの出番がなくて、assertionしか使っていません。翻訳のために原文の書き方も調整してるかなと憶測します。 そしてC#のものも読んだら、アサートを使っているけど、名詞として使っています。もとの英語もそうです。 C#のものから、もっとも近い意味の言葉は「これはアサーションを使ってテストできます」だと思います。 母語話者ではありませんが、参考までよろしくお願いします。 |
ch11-01
https://doc.rust-jp.rs/book-ja/ch11-01-writing-tests.html
に
とあります。原文は
です。
assert や assertion は日本語にしにくいですが,「断定」という言葉には「判断・判定」の含みがあり,訳語として合っていないと思います。
どういう訳語がよいか分かりませんが,「断定」よりは「主張」のほうが適当なのではないかと思います。
The text was updated successfully, but these errors were encountered: