いつもお世話になります。
現在、ASP.NETを使用した環境で開発をしています。
ふと気になったのですが、
変数名に日本語を使用するのはありなんでしょうか。
ずっとJavaやC、AndroidやSwiftで開発をしていたので違和感しかありません。
例えば、勤怠管理システムを開発しているとして
int 出勤状況
int 有給日数
のような変数名に日本語を利用することは開発として向いているのでしょうか。
全角文字を使用すると、全角スペースの悪夢や変換が面倒、
検索がしにくいといった不便なことがたくさんあると思います。
皆様のご意見をお伺いしたいです。
よろしくお願いいたします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答12件
0
ベストアンサー
自分で作る時はまず使いませんが、場合によっては使ってもいいと思います。
業務によっては専門用語的なものを変数で表さないといけない場合があります。
英語の変数にするために一生懸命辞書を引っ張った結果、やたら長ったらしい変数名になったり、その労力の割には他者が見たときにまったく意味がわからなかったり。
逆に長いからと省略すると更に意味がわからなくなったり、他の似たような変数と区別がつかなくなったり。
そのようなことが頻繁に発生するような業務であれば、あえて日本語を使うメリットはあると思います。
投稿2017/01/17 02:41
総合スコア17000
0
シンプルにチーム内文化として統一出来るならありだし、統一出来なきゃ無しですね。
タイプし辛いので個人的には勘弁して欲しいのですが、
最近の開発現場ではutf-8で統一されていて当たり前でしょうし、他の予約語と衝突しない日本語変数は検索し易いまでありそうなので、障壁自体はそんなにないかと思います。
因みに似たような題材の面白い記事をどっかで見かけたような…みつけました
日本語変数名で後悔 - Ognacの雑感
あぁ。それなのに、漢字を認識しない外人開発者がプロジェクトに参画してきました。
これには草、結局どうしたのか気になりますね。
投稿2017/01/17 03:17
総合スコア21194
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
特別な理由が無い限りしません。
変数名ではないですが、クラスのプロパティなんかには使ったことがあります。
理由とコストが優れているのであれば日本語を使ってもいいのではないでしょうか。
僕は汎用性の無いCSV入出力ツール作成時なんかに、日本語名のプロパティを使うことがあります。
名称を変換する設定を生真面目にしてもいいんですが、CSVの場合取り込んだデータを実際のモデルに変換する必要があることが多いので、余分なレイヤーを1枚挟むことが確定しています。
外部出力関係は日本語のプロパティとかなり相性が良い分野の一つと僕は考えています。
法廷帳票等の既定フォーマットの英語名考える労力も馬鹿らしいですし、出力物とコードの対比が一目瞭然です。
日本語のプロパティを持つモデルに値を入れることでむしろ明瞭になります。
Excel、CSV、PDF、このあたりは日本語名を直接使います。
ASP.NETのビューはAttribute使って解決すれば良いですし、ほとんどそんな出番は無いと思いますけどね。
投稿2017/01/17 02:37
編集2017/01/17 04:08総合スコア1593
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
趣味の範疇なら好きなようにすればいいと思いますが、実務においては「なし」という考えが一般的です。理由の一つは質問者さんが書かれていますね。
ほかの理由としては、チーム開発などで外国人が参加していると、たとえ日本語が話せるとしても漢字の読み方までは判らないとなれば難解なコードになってしまいますし、入力できないかもしれません。(日本語が苦手ならより難易度が増すでしょう)。今現在は外国人が参加していないとしても将来どうなるか判りませんよ。
ちなみに、変数名等に日本語が使えるかどうかで言えば、Javaは使えますしVisual C++も使えます(gccは知りません)。
投稿2017/01/17 02:45
編集2017/01/17 02:54総合スコア5944
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
見易さや保守性を考えて日本語を使うという話を時々聞きますが、言語仕様上許されているからと言って安易に使うと思わぬ副作用がありそう・・・という理由で、自分は日本語化反対派です。
自分が気がついた例としては ASP.NET MVC のモデルのプロパティ名、コントローラーのアクションメソッドの引数名があります。
十二分に検証すれば済むかもしれませんが、そもそもが余計な気苦労と不要な手間です。そこまでして日本語を使う理由は全くないと思っています。
詳しくは以下の記事を読んでください。
投稿2017/01/17 02:29
退会済みユーザー
総合スコア0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
正直ナシですね >。<
使ったとしても頭は英字にするべきですね。
でも、2バイトにして文字化けした場合には動かなくなった経験があるので正直やめたいですね。
JUNITのメソッドに日本語を利用すると分かりやすいとか言われて真に受けた私が悪かったですがね
投稿2017/01/19 13:14
退会済みユーザー
総合スコア0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
「変数名に」というご質問ですが、変数名よりもむしろメソッド名・フィールド/プロパティ名の命名だとより日本語が使いやすいです。
どなたかご指摘なさっていますが日本語シンボルの使いにくさは入力時に漢字変換の必要なことです。しかも、入力中は仮名なのでIDEの補完も入りません。生産性は下がります。(ローマ字命名のほうがまだましとも言えます)
ところがメソッド名・フィールド/プロパティ名であれば、IDE上でドット打った途端に候補が並びます。そこから手を離してマウスで選んだり↑↓で選んだりするのかって話ですが、それが好都合な状況というのもあります。
たとえば非技術者に簡単なコードを書いてもらいたい状況があって(例えばテスターにテストケースを書いてもらう)、技術者側からはテストに必要なオブジェクトだけ渡す、テスターはとりあえずドットを打てばそのオブジェクトのやれること一覧が得られるので「〇〇なはず」のコードを書き足してテストケースにできる、とかそういうのです。
投稿2017/01/19 03:32
総合スコア5570
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
基本的にメリットはないと思っていますが、テストコードを書く際には日本語もありかなと思います。
新人プログラマが絶対に知っておきたい、日本語変数利用時の作法
投稿2017/01/17 07:24
総合スコア3541
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/01/20 06:09