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

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

新規登録して質問してみよう
ただいま回答率
85.37%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

命名規則

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

Q&A

解決済

2回答

15297閲覧

入力チェックを行うメソッドの命名について

goom

総合スコア13

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

命名規則

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

0グッド

1クリップ

投稿2020/09/10 09:10

編集2020/09/11 00:21

あるクラスの中で入力チェックを行うprivateメソッドを作成したいのですが、

private bool InputCheck()

といったメソッド名ですと
入力チェックに通ったら true が帰るのか
入力チェックに通らなかったら true が帰るのか
メソッド名からは判断できないと思います。

入力チェックに通ったら true を返したい場合、
可読性を向上させるために具体的にはどのようなメソッド名にするのが良いでしょうか。

組織での開発・個人での開発関係なしに、可読性の高いメソッド名としてどのような物が良いか、という質問になります。
(例え個人での開発でも、数年後自分のコードを読み返した時のことを考えると可読性の高いコードである方が良いと考えています。)

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2020/09/10 09:19 編集

質問者さんが組織に属して組織の業務として開発を行っているなら組織でルールを決めてそれに従う、個人開発で保守にも他人がかかわることがないなら自分の好きなように決めて良いと思いますが。 どうしても他人の意見が聞きたいということであれば・・・ 自分なら IsValid とか考えますけど。
goom

2020/09/11 00:09

回答ありがとうございます。 質問内容にも記述してありますが、組織での開発・個人での開発関係なく、「一般的」にどのようなメソッド名にすると良いか、という質問になります。
退会済みユーザー

退会済みユーザー

2020/09/11 00:17 編集

> 質問内容にも記述してありますが、組織での開発・個人での開発関係なく、「一般的」にどのようなメソッド名にすると良いか、という質問になります。 質問のどこにもそう言うことは書いてないですけど? そもそも「一般的」ってどういう意味かわかりません。 その辺りから、質問欄を編集して、書いていただけませんか?
goom

2020/09/11 00:17

はい、すみませんでした。 追記を行いました。 組織での開発・個人での開発関係なしに、分かりやすいメソッド名にしたいと考えています。
退会済みユーザー

退会済みユーザー

2020/09/11 00:21

何を、どういう条件で、どのような環境で、どのタイミングで検証して、どのように結果を返すかによって色々違ってくると思います。例を書けませんか?
YAmaGNZ

2020/09/11 00:24

はっきり言って「一般的」なズバリな回答はないかと思います。 ・統一する。 ・ドキュメントやコメント等含め情報を纏め、残す。 くらいなのでは?
goom

2020/09/11 00:34

YAmaGNZさん、ご回答ありがとうございます。 なるほど、一般的と言えるものは無いのですね。。 参考になりました。ありがとうございました!
退会済みユーザー

退会済みユーザー

2020/09/11 00:44

きっとあなたは「いろいろ面倒なことを言う、聞いたことに答えればいいんだよ」と思っているのではないかと想像してますが、あなたの質問自体が面倒な話という自覚はありますか?
YAmaGNZ

2020/09/11 00:52

何をもって「一般的か」ということだと思います。
退会済みユーザー

退会済みユーザー

2020/09/11 01:01

質問者さんの言う「一般的」の定義を明確にする、さらに言うなら上のコメントで聞いた「何を、どういう条件で、どのような環境で、どのタイミングで検証して、どのように結果を返すかによって色々違ってくると思います。例を書けませんか?」から話を始めなければならないのが面倒だと思いませんか?
guest

回答2

0

ベストアンサー

例えば、IsValid()といった名前が良いでしょう。

入力ってユーザの入力のこと?

質問者さんの言う「入力」とは、ユーザーがテキストボックスに入力する、と言うような意味での入力であると想定して回答させてもらいます。

「入力が正しいかチェックする」ということを想定されているようですが、
実際には入力には色々な項目が設けられることと思います。
呼び出し時に

C#

1if ( !inputs.mailAddress.IsValid() ){ 2 // メールアドレスが異常だった場合の処理 3}

「入力の中の、メールアドレスが、有効である」と言うように「あるオブジェクトが、どうこう」という形で記述できる形で設計するのが良いかと思います。

入力って単にクラスに対する入力のこと?

もし、質問者さんがクラスメソッドの呼び出し時の引数に対するチェックを言っているなら、また変わってくるかもしれません。場合によってはそもそも「チェックする関数の問題」ではないかもしれません。例えば「負の質量」のようなありえない値が入っている場合は、メソッドが呼ばれた段階でチェックを行うのではなく、そのような不正なインスタンスが生成された時点で例外を返すべきかもしれません。

投稿2020/09/11 02:05

AtsushiYonenaga

総合スコア116

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

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

0

英語にしてある程度意味が通るか、というのが一つの目安になるかなと思います。あとは、言語によって先頭大文字とか小文字とか主流の記述スタイルがちょっと違います。
うまくメソッド名を付けるための参考情報

一応公式のガイドラインというのはあります。
名前付けのガイドライン
うちのチームだと、Microsoftのを参考にしつつ、もう少し緩くしています。

投稿2020/09/11 00:47

編集2020/09/11 00:48
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.37%

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

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

質問する

関連した質問