1. ホーム
  2. coding-style

[解決済み] メソッドの引数にbooleanを指定することはできないのでしょうか?[クローズド]

2022-08-08 03:28:03

質問

私の同僚は次のように述べています。 メソッドの引数としてブール値を使うことは許されない . それらは列挙に置き換えられなければならない。最初は何のメリットも感じなかったのですが、彼は私に例を示してくれました。

何がわかりやすいですか?

file.writeData( data, true );

または

enum WriteMode {
  Append,
  Overwrite
};

file.writeData( data, Append );

これでわかった! ;-)

これは間違いなく、2番目のパラメータに列挙を使用することでコードがより読みやすくなる例です。

では、このトピックについて、あなたの意見はどうでしょうか?

どのように解決するのですか?

ブール値は、「はい/いいえ」の選択肢を表します。 もしあなたが"yes/no"を表現したいのであれば、ブール値を使用すればよいのです。

しかし、もしそれが2つの選択肢の間で、どちらも明らかにイエスかノーでない場合、enumの方が読みやすいことがあります。