Q&A
解決済
2回答
7356閲覧
総合スコア161
Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。
0グッド
1クリップ
投稿2016/08/31 10:27
0
1
例えば、以下の様なコードです
Java1boolean xxxExists = false; 2xxxExists = xxxModel.xxxExists(hoge, hogehoge);
Java
1boolean xxxExists = false; 2xxxExists = xxxModel.xxxExists(hoge, hogehoge);
Javaの仕様では何も問題はないと思いますが、
変数名、メソッド名のいずれか変更し、異なる名称とすべきではないかと思うのですが、いかがでしょうか? むしろ同じ名称の方がわかりやすい?
みなさまのご意見お待ちしております
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
質問へのコメント
回答2件
ベストアンサー
Java1xxxExistence = xxxExists();
1xxxExistence = xxxExists();
どんな命名規約を採用するかにもよりますが、 私は原則的に「異なる名称とすべき」派です。 その上で、メソッド名は動詞、変数名は名詞が命名の基本と考えます。
なぜ使い分けるのか、かんたんに言いますと、 区別できる情報は多い方が単純に良いから。 デバッグ時にカッコの付け忘れかどうかも、ひと目で判別できます。
またたとえば完全に同名だと、検索のときに両方引っかかります。 もし全体で100個もあれば、けっこう分かりにくいだろうと。
まあRubyだと、カッコを省略し、変数名とメソッド名を曖昧化して、 トリッキーな呼び出しを実現したりもしますが、これは例外です。
投稿2016/08/31 11:28
総合スコア5594
私は戻り値がboolであるなら、直接if判定させます。
java1if (xxxModel.xxxExists(hoge, hogehoge)){ 2 ... 3}
java
1if (xxxModel.xxxExists(hoge, hogehoge)){ 2 ... 3}
boolじゃなくとも直接渡すようにしてコードを短くしています。 メソッドの中身が十分に短けれは、意図が判りやすいので変数名はある程度いい加減でも読み難くならないと思います。そういうわけで、String sやint iなどもよく使いますし、上記の例であれば変数の定義をbool existsあたりにすると思います。
String s
int i
bool exists
逆にルーブが複雑だと、int xxxIndexなどの説明的な変数名を使います。そういう場合はメソッドやクラスの分割を検討するようにしていますので、あまり機会は多くありません。
int xxxIndex
いずれにせよメソッド名と変数名はあまりかぶらないようにしています。こうということも無いのですが、私もやはり変数名とメソッド名が被るのは好きではありません。
投稿2016/09/01 01:21
総合スコア2884
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
15分調べてもわからないことはteratailで質問しよう!
ただいまの回答率85.29%
質問をまとめることで思考を整理して素早く解決
テンプレート機能で簡単に質問をまとめる
メソッド名と、メソッドの戻り値を入れる変数名 が同じ