🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

命名規則

命名規則は、プログラミングする際に識別子の名称である文字列を決める表記法のことです。ネーミング規則・ネーミング規約・命名規約とも呼びます。

Q&A

解決済

6回答

4625閲覧

変数名=型変換後の名づけ方=

PePePeT_i_C

総合スコア31

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

命名規則

命名規則は、プログラミングする際に識別子の名称である文字列を決める表記法のことです。ネーミング規則・ネーミング規約・命名規約とも呼びます。

0グッド

0クリップ

投稿2019/11/12 02:58

編集2019/11/12 04:08

お忙しいところ失礼します!

現在Javaを勉強しているのですが、可読性を高めるために命名やコメントを徹底的に考えてプログラミングをしています!

そこでよく悩むのですが、

Java

1// 引数monthに対して翌月を返す 2public String addMonth(String month){ 3 final String dec = "12"; 4 if(dec.equals(month)){ 5 month = "1"; 6 }else{ 7 int 「①」= Integer.valueOf(month);// int型に変換したmonthを代入 8 month = String.valueOf(「①」+1); 9 } 10 return 「month」; 11}

このような場合、「①」に何と命名するのがふさわしいでしょうか?

1行でreturnする場合や引数をint型場合は考えず、型変換後の値を変数に代入するとしたらどういう命名が適切なのか教えていただけますでしょうか?

よろしくお願いいたします!!

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

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

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

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

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

Zuishin

2019/11/12 03:22

むしろ convertStr2Int という関数名と month という引数の方が問題ありだと思いますが、そこはいいのですか?
PePePeT_i_C

2019/11/12 04:01

たしかにその通りですね、、、。 修正してみます!
guest

回答6

0

可読性は, 書く側読む側の共通認識(いわゆる”文化”)によって異なります. ですので, 「命名やコメントを徹底的に考えて」も全てにおいての「適切」は無いものと考えます.

あえて申し上げれば, 一般的なほうを一般的な名前にし, (比較的)一般的でないほうを特殊な名前にするとよいのではないでしょうか.
件の場合, 「月」は数値のほうが利用し易いと思いますので, int のほうを month とし, String のほうを monthStr 等としては如何でしょうか.

投稿2019/11/12 03:08

jimbe

総合スコア13202

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

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

PePePeT_i_C

2019/11/12 04:10

なるほど、、、 変数名に型を記載するのは思いつきませんでした!
guest

0

このような場合、「①」に何と命名するのがふさわしいでしょうか?

「変換以外の処理をどうするか」による、としか言いようがないです。

純粋に変換しかしないなら、変数自体が不要でしょう。

投稿2019/11/12 03:01

maisumakun

総合スコア145967

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

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

PePePeT_i_C

2019/11/12 04:10

質問文のコードを修正致しました。 可能でしたら修正内容の場合、どのようにするかお答えいただきたいです!
hayataka2049

2019/11/12 05:09 編集

修正後のコードでも変数自体不要という議論は成立しますね。 public String addMonth(String month){ final String dec = "12"; if(dec.equals(month)){ return "1"; }else{ return String.valueOf(Integer.valueOf(month) + 1); } } みたいな。 こちらの方が可読性が高いという主張もあり得るでしょう(個人的にもそう思います)。
guest

0

オレがするなら、a

たかだかローカル変数の命名にそこまでかかずらわってられまへん

投稿2019/11/12 03:18

y_waiwai

総合スコア88038

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

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

0

ベストアンサー

文字列から数値への変換であれば
引数:str
ローカル変数:num
とかでいい気がします。

質問文のコードでは変数定義不要としか見れないので、
他にも似たような変数が必要なのであれば
他に必要な変数と考慮して名前を考えます。


[質問文修正後を受けて追記]

わざわざ月を文字列で扱っている状況がわかりませんが、
私なら以下のいずれかでやると思います。
(採用度高い順に並んでます)

案1:
そもそも数値の月を文字列で扱う方が特殊なので、
引数をmonthStr、該当箇所をmonthにする

案2:
本当にその箇所だけで使うならtmpという一時変数を使う

案3:
monthIntのように後ろに型名をつける

投稿2019/11/12 03:11

編集2019/11/12 04:28
dice142

総合スコア5158

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

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

PePePeT_i_C

2019/11/12 04:09

質問文のコードを修正致しました。 可能でしたら修正内容の場合、どのようにするかお答えいただきたいです!
dice142

2019/11/12 04:28

追記しました。
guest

0

[元の変数名]as[型名] を使う場合があります。

monthAsLocalDate

投稿2019/11/12 03:20

A-pZ

総合スコア12011

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

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

PePePeT_i_C

2019/11/12 04:13

なるほど! 型名としてのmonthってことですね、、、。思いつきませんでした! ご回答ありがとうございます!
guest

0

y_waiwaiさんと同意見d^^
ローカル変数の名前まで、あまり細かく考えません。sTmpとかiTmpとかsInxとかcPos・・・w
・・・60行を超える関数(メッソド)は作らないから、見通しが悪くなることはない・・・

投稿2019/11/12 05:48

cateye

総合スコア6851

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

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

cateye

2019/11/12 13:37 編集

ドットインパクトの時代に、66行で収まるように書く癖が出来たv^^ 流石に、24行(昔のモニタの行数)は無理w
maisumakun

2019/11/12 13:10

名前の重要性はスコープの大きさに比例しますよね。 ライブラリのパブリックな名前は一度つければまず変えられませんし、逆にブロックにローカルな変数は変えても他の場所には影響しません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問