- - PR -
空のIF文を書きますか?
«前のページへ
1|2|3|4|5
投票結果総投票数:260 | |||
---|---|---|---|
許容できる | 85票 | 32.69% | |
許容できない | 148票 | 56.92% | |
どちらでもよい | 27票 | 10.38% | |
|
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2008-11-09 01:41
if 文が空であるかどうかは、あまり気にしません。
if elseを多用する時は、
とする事が多いです。 また、この形で、読みかけに慣れてくると、
も読みにくい場合もあります。 | ||||||||
|
投稿日時: 2008-11-09 02:45
個人的意見になりますが,以下の両者のコードには微妙なニュアンスの違いがあると考えています.
前者は「引数が妥当でないときは例外を投げる」ということに主眼が置かれています.引数が妥当なときは「結果として」何もしないといった印象です.一方,後者では「引数が妥当なときは(プロシージャの仕事は引数の妥当性確認だけなので)何もしない」ということが明示的に記されています. ただし,行数などの問題があることは確かなので,私自身でも両者をきちんと使い分けているわけではありません.特に,上記の例であれば,プロシージャの名前から意図が明確に伝わるので,わざわざ後者の記法をとる必要もないという考えもあるでしょう. 実行効率の問題に関しては,現在のコンパイラならば最適化をかけるだけで基本的には解決するので,ことさらに問題視する必要はないと思います. | ||||||||
|
投稿日時: 2008-11-09 03:26
空のIF分に「何もしない」などのコメントがあるなら許容できます。
| ||||||||
|
投稿日時: 2008-11-09 12:11
この問題は、いわゆる「0件」(や0行、0個、...)を特別扱いするかどうか、ということにも関連するのかな?と、ふと思いました。(ちなみに私は、0件は極力、特別扱いしないという主義です。)
要は、「空のIF文」 = 「Then の中の処理文の行数が0行」 ということであり、かつ、0件は特別扱いする、というポリシーが前提にあると、空のIF文は許容しない、という結論になると思います。 もし私が今、アンケートをとるとしたら、 ・0件を特別扱いしますか? ・空のIF文を許容しますか? という2項目を聞きたいところです。 0件は、空のIF文よりもさらに抽象的な概念だと考えることができるのではないかと思いますので、もしその前提が成り立つならば、まず0件で分けて考えて、その後に空のIF文を考える、ということができるかもしれません。 | ||||||||
|
投稿日時: 2009-02-24 15:49
COBOL85のcontinue文やORACLE PL/SQLのNULL文のように何もしないことが保障されているものもあるので、そんな場合にはありかもしれません。(NOT条件のほうが分かりにくい場合)
| ||||||||
|
投稿日時: 2009-02-24 19:12
saki1208です。
私は場合によりけりだと思います。 単純な条件では問題はないですが、複雑な条件になるときは NOT を付加することによりさらに分かり辛くなる場合がある と思います。 NOT を付加しない方が直観的に理解できそうなときは、あえ て空の分岐を記述する場合があります。 もちろん、コメントで明記しますけどね。 |
«前のページへ
1|2|3|4|5