Unityでゲームを作成しています。
スクリプトに日本語を入れても動くようなのですが本屋やホームページでは使っている例がとても少なく思います。
素朴な疑問なのですが何か理由があるのでしょうか?
//例 bool タイトル表示完了 = true; public void タイトル表示スタート() { タイトル表示完了 = false; }
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答6件
0
ベストアンサー
素朴な疑問なのですが何か理由があるのでしょうか?
そもそもほとんど全てのメジャー言語が英語ベースで作られており、言語設計者や開発者の共通言語が英語であるのが主な理由じゃないでしょうか。
それがデファクト・スタンダード(事実上の標準)なので、そのスタンダードから外れる側(質問文の話で言えば敢えて日本語を使う側)にむしろそれ相応の理由が求められる、という状況になっているだけです。
「絶対に使うべきじゃない」みたいな人もいますが、マルチバイト文字をプログラミングに利用することのデメリット等は過去においては多数存在したし、その慣習を引きずっているというのもあるとは思いますし、まだまだマイナーなバグを踏む可能性は否定しませんが、言語としてマルチバイト文字をサポートしている以上は、それらは決定的な理由には成り得ません。(マルチバイト文字を積極的にプログラミングで利用する人が増えればバグは潰せるはずなので)
それらは個人であれば各々が、チーム開発であればそのチームが「決め事」として定めるものです。
ただ、現状では敢えて「日本語を使う」という選択に「周囲を納得させられるだけの理由」を提示できる人が居ないから見かけないだけでしょう。
また、もし自分が書くコードを日本語で揃えようと思っても、自分で書いたコード以外(ライブラリ等)はそうなっていないので、単純にチグハグした状態になります。
どうせ英語も混ざるのであれば、積極的に一部だけ日本語を使う意味はなかなか見出だせないでしょう。
ついでに、個人的には単数形と複数形の違いを表現しづらいのは日本語のデメリットだとは思います。
投稿2021/02/18 06:43
編集2021/02/18 06:47総合スコア8947
0
Unityでは、ファイルパスに日本語を使うと、それが原因で正しく動作しない、というケースがあります。
パスなので関係ないと思うかもしれませんが、「MonoBehaviourを継承した場合、そのクラス名とファイル名は同じにしなければならない」というルールがあるため、基本的にクラス名に日本語を使ってはいけないことになります。
慣れてしまえば分かりやすさ的には英語でも問題ないですし、むしろ文字コードなどで悪影響が出る可能性があるほうが問題なので、コメント欄や文字列だけに留めておくほうがよろしいかと思います。
投稿2021/02/18 06:38
総合スコア10152
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
もともとプログラミング言語は英語圏から開発されたというのもありますし、
日本語というかマルチバイトの変数やメソッド名が使える言語が最近のものなので、
すべて半角英数字で変数名やメソッド名を使っていた慣習というのもあるかと思いますが、
個人的には、
・日本語はものすごく見づらい上に、タイピング量が多い
・いちいち半角と全角との変換が面倒
・他人のソースとの整合性
・githubなどの参考になる資料も英語が基本
という点があるので、日本語の変数名やメソッド名を使いたくありません。
しかし、個人的なプロジェクトであれば自由にやってOKだと思います!
投稿2021/02/18 03:53
総合スコア4207
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/02/18 04:17
2021/02/18 04:36
2021/02/18 04:43
2021/02/18 04:44
2021/02/18 07:21
2021/02/18 07:29
2021/02/18 07:34
0
ファイル内だけで使う識別子を日本語にする分には、(言語が対応していれば)勝手に使う分に問題はないのですが、Javaの言語仕様やオートロードなど、ファイル外部の識別子はファイル名と結びつくことがあります。
URLに日本語を入れる場合もエンコードで混乱したりしますし、「macOSではUnicodeの正規化の形が違って、仮名の濁点・半濁点が違うエンコードになる」など、ファイルシステムとも絡んでちょっとやそっとでは対応が困難な問題に陥ることもありえます。
ファイル名に関係するような識別子は、英数字・アンダーバーといった限られた文字から選択することをおすすめします。
投稿2021/02/18 08:10
総合スコア146018
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
仕様上できるのでやっても大丈夫です。 ※ ただし通常はやらないので、オススメはしません。
ただメジャーなやり方ではないので、色々問題が起こる可能性があります。
なので使いたい場合はそういうのも自分で解決することが求められます
(日本語起因によるバグなのか、ソースコードのバグなのか分かりづらい)
似たような疑問であがっていた問題点があるのでそちらも参考にどうぞ。
日本語で命名するコーディングの問題点
日本人にしか読めない(グローバルスタンダードではない)
jsファイル設置後にContent-Typeヘッダで文字コードを指定する必要がある(逆にASCII文字だけで構成すれば、文字コードを気にする必要はない)
日本語は動詞が最後に来るので、最後まで読まないとそれが関数である事が分からない(バーコードから商品オブジェクトを得る vs getItemByBarcode)
map,object等、プログラミング独特の意味を持つ英単語をどう日本語に訳していいか分からない
get等の動詞にも日本語の表現に揺らぎがある
ビルトインオブジェクトは英語、ユーザ定義オブジェクトは日本語となる為、和英混在となる
投稿2021/02/18 06:16
編集2021/02/18 06:17総合スコア3302
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
20220925
日本語を使ってみての感想
(win⇨macへ移行していますので比較しました)
windowsの場合
パスにさえ日本語を使わなければスクリプトの可視性は大幅に向上します。(プロジェクトウィンドウ内のフォルダはOK)
winではヒエラルキー上のオブジェクト名も日本語にできます。
特にVisualStudioでの候補でスクリプト、メソッドなどが一覧で出る時は日本語でまとめてあり並び一目瞭然です。
とても使いやすいと思いました。
macの場合
スクリプト名に濁点が入るとエラーが出ました。
「だるま」 ≠ 「だ るま」(jis規格が違うためスペースが入り必ずエラーになります)
ヒエラルキー上のオブジェクト名は日本語入らない。
日本語の方が読みにくいという方がいらっしゃるようですが、プログラミングの勉強をしたい、Unityの勉強をしたいなら日本語の方が取っ付きやすいでしょう。
小学生でも読めるようになります。
Googleでアプリも出せました。
誰かの参考になればと思います。
投稿2022/09/25 01:35
総合スコア120
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。