質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.42%
SourceTree

SourceTreeは、Gitのクライアントツール。視覚的に操作するGUI形式でGitの操作が容易になります。MacやWindowsなどのOSに依存しておらず、PC環境に合わせてインストールすることが可能です。

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

Q&A

解決済

12回答

27610閲覧

変数名に日本語を使用するのは有りか

kpiyohiko

総合スコア658

SourceTree

SourceTreeは、Gitのクライアントツール。視覚的に操作するGUI形式でGitの操作が容易になります。MacやWindowsなどのOSに依存しておらず、PC環境に合わせてインストールすることが可能です。

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

1グッド

1クリップ

投稿2017/01/17 02:08

いつもお世話になります。

現在、ASP.NETを使用した環境で開発をしています。
ふと気になったのですが、
変数名に日本語を使用するのはありなんでしょうか。
ずっとJavaやC、AndroidやSwiftで開発をしていたので違和感しかありません。

例えば、勤怠管理システムを開発しているとして
int 出勤状況
int 有給日数
のような変数名に日本語を利用することは開発として向いているのでしょうか。

全角文字を使用すると、全角スペースの悪夢や変換が面倒、
検索がしにくいといった不便なことがたくさんあると思います。

皆様のご意見をお伺いしたいです。
よろしくお願いいたします。

ted_man👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答12

0

ベストアンサー

自分で作る時はまず使いませんが、場合によっては使ってもいいと思います。
業務によっては専門用語的なものを変数で表さないといけない場合があります。
英語の変数にするために一生懸命辞書を引っ張った結果、やたら長ったらしい変数名になったり、その労力の割には他者が見たときにまったく意味がわからなかったり。
逆に長いからと省略すると更に意味がわからなくなったり、他の似たような変数と区別がつかなくなったり。
そのようなことが頻繁に発生するような業務であれば、あえて日本語を使うメリットはあると思います。

投稿2017/01/17 02:41

ttyp03

総合スコア16998

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kpiyohiko

2017/01/20 06:09

ありがとうございます。 確かにその通りですね。 難しい業務系のシステムでしたら、日本語やむなしなのかもしれません。 ありがとうございました。
guest

0

シンプルにチーム内文化として統一出来るならありだし、統一出来なきゃ無しですね。

タイプし辛いので個人的には勘弁して欲しいのですが、
最近の開発現場ではutf-8で統一されていて当たり前でしょうし、他の予約語と衝突しない日本語変数は検索し易いまでありそうなので、障壁自体はそんなにないかと思います。


因みに似たような題材の面白い記事をどっかで見かけたような…みつけました
日本語変数名で後悔 - Ognacの雑感

あぁ。それなのに、漢字を認識しない外人開発者がプロジェクトに参画してきました。

これには草、結局どうしたのか気になりますね。

投稿2017/01/17 03:17

miyabi-sun

総合スコア21170

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

こんにちは。

おっしゃる通り本質的でないトラブルに悩みそうですし、他のコンパイラへの移植も厳しくなるので、私が決定権を持てる時は使わないです。意見を言える時は反対意見を述べるだろうと思います。
プロジェクトや会社の方針として、それらのトラブルのノウハウを積んで日本語による可読性の改善を狙うのはありと思いますので、拒否はしないと思います。

投稿2017/01/17 02:27

Chironian

総合スコア23272

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

基本的に関数名や変数名、DBのテーブル名、カラム名は英字(+"_"くらいの記号)で書くように
しています。
仕事始めた当初、日本語の使えないUNIXを使っていた影響かもしれませんが、コメントや
画面表示の文字列以外で日本語を使った経験はありません。

そういえば、大昔に"桐"というDBのようなものを利用したとき、スクリプトの制御文が
日本語だったので、ここでは日本語変数を使ったかもしれません。

投稿2017/01/17 02:50

Take-y

総合スコア91

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

特別な理由が無い限りしません。
変数名ではないですが、クラスのプロパティなんかには使ったことがあります。

理由とコストが優れているのであれば日本語を使ってもいいのではないでしょうか。
僕は汎用性の無いCSV入出力ツール作成時なんかに、日本語名のプロパティを使うことがあります。

名称を変換する設定を生真面目にしてもいいんですが、CSVの場合取り込んだデータを実際のモデルに変換する必要があることが多いので、余分なレイヤーを1枚挟むことが確定しています。

外部出力関係は日本語のプロパティとかなり相性が良い分野の一つと僕は考えています。
法廷帳票等の既定フォーマットの英語名考える労力も馬鹿らしいですし、出力物とコードの対比が一目瞭然です。
日本語のプロパティを持つモデルに値を入れることでむしろ明瞭になります。
Excel、CSV、PDF、このあたりは日本語名を直接使います。

ASP.NETのビューはAttribute使って解決すれば良いですし、ほとんどそんな出番は無いと思いますけどね。

投稿2017/01/17 02:37

編集2017/01/17 04:08
haru666

総合スコア1593

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

個人的には、変数名を日本語にするメリットはあまり感じません。
何よりタイピングする際の入力切替が面倒ですし。。
ただ、子供向けのプログラミング学習等では効果があるかもしれません。
また、変数名を短くできるメリットもあるかもしれませんね。
ちなみにSwiftも変数名に日本語を利用できますよ。

投稿2017/01/17 02:25

Kapustin

総合スコア1186

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

趣味の範疇なら好きなようにすればいいと思いますが、実務においては「なし」という考えが一般的です。理由の一つは質問者さんが書かれていますね。
ほかの理由としては、チーム開発などで外国人が参加していると、たとえ日本語が話せるとしても漢字の読み方までは判らないとなれば難解なコードになってしまいますし、入力できないかもしれません。(日本語が苦手ならより難易度が増すでしょう)。今現在は外国人が参加していないとしても将来どうなるか判りませんよ。

ちなみに、変数名等に日本語が使えるかどうかで言えば、Javaは使えますしVisual C++も使えます(gccは知りません)。

投稿2017/01/17 02:45

編集2017/01/17 02:54
catsforepaw

総合スコア5938

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

勉強やサンプル作成で使う分にはアリだと思いますが、
なんとなく格好悪いし不具合の温床になりそうな気がするので私はしないですね。

変数名は基本的にはアルファベットの英語にしますが、
英語にすると逆にわかりづらい場合はアルファベットの日本語にします。
(ドメイン特有の言葉など)

int syukkin_jyokyo
int yukyu_nissu

投稿2017/01/17 02:42

hn1

総合スコア303

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

見易さや保守性を考えて日本語を使うという話を時々聞きますが、言語仕様上許されているからと言って安易に使うと思わぬ副作用がありそう・・・という理由で、自分は日本語化反対派です。

自分が気がついた例としては ASP.NET MVC のモデルのプロパティ名、コントローラーのアクションメソッドの引数名があります。

十二分に検証すれば済むかもしれませんが、そもそもが余計な気苦労と不要な手間です。そこまでして日本語を使う理由は全くないと思っています。

詳しくは以下の記事を読んでください。

識別子名に日本語
http://surferonwww.info/BlogEngine/post/2015/03/17/japanese-name-for-identifiers-such-as-variables-methods-and-properties.aspx

投稿2017/01/17 02:29

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

正直ナシですね >。<

使ったとしても頭は英字にするべきですね。
でも、2バイトにして文字化けした場合には動かなくなった経験があるので正直やめたいですね。

JUNITのメソッドに日本語を利用すると分かりやすいとか言われて真に受けた私が悪かったですがね

投稿2017/01/19 13:14

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

「変数名に」というご質問ですが、変数名よりもむしろメソッド名・フィールド/プロパティ名の命名だとより日本語が使いやすいです。

どなたかご指摘なさっていますが日本語シンボルの使いにくさは入力時に漢字変換の必要なことです。しかも、入力中は仮名なのでIDEの補完も入りません。生産性は下がります。(ローマ字命名のほうがまだましとも言えます)

ところがメソッド名・フィールド/プロパティ名であれば、IDE上でドット打った途端に候補が並びます。そこから手を離してマウスで選んだり↑↓で選んだりするのかって話ですが、それが好都合な状況というのもあります。

たとえば非技術者に簡単なコードを書いてもらいたい状況があって(例えばテスターにテストケースを書いてもらう)、技術者側からはテストに必要なオブジェクトだけ渡す、テスターはとりあえずドットを打てばそのオブジェクトのやれること一覧が得られるので「〇〇なはず」のコードを書き足してテストケースにできる、とかそういうのです。

投稿2017/01/19 03:32

yuba

総合スコア5570

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

基本的にメリットはないと思っていますが、テストコードを書く際には日本語もありかなと思います。
新人プログラマが絶対に知っておきたい、日本語変数利用時の作法

投稿2017/01/17 07:24

sho_cs

総合スコア3541

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.42%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問