アカウント名:
パスワード:
> ゼロ除算発生時に「0」を返す
よりもバリデーションでゼロ除算を発生させない方向には向かえないんですかね?
>ゼロ除算のチェックに疲れ果てたからでは?
> >ゼロ除算のチェックに疲れ果てた> からでは?
どんなシステムかはわかりませんが、入力値のバリデーションがチェックに疲れるほどあるシステムに問題がありますね。
もうつくっちゃったから仕方がないのですかね?
計算の途中で0になるケースもあるだろうし、入力値とは限らないと思うが。計算式を全部関数化してしまえというのであれば、入力値の確認だけですむけどそれはそれでどうなんだろう・・・。
ただポインタのNULLチェックのほうがはるかに面倒な気がするけど。関数のほとんどがNULLチェックで、肝心のロジック自体は1~2行というのを良く見るわ。
計算の途中で0になるケースもあるだろうし、入力値とは限らないと思うが。
ないでしょ。計算したら0になってその値で割るなんて。
いやいや、いくらでもあるでしょう。プログラム中割り算なんていくらでも使うし、その割る数が入力値じゃないケースの方が圧倒的に多いし、それが理論上0になる可能性がある場合なんていくらでもあるでしょう。例えば実行件数を時間の差分で割る場合とか、時間の差分はOSの時刻を変更されたら0になることだってあり得ますよね?
> 例えば実行件数を時間の差分で割る場合とか、> 時間の差分はOSの時刻を変更されたら0になることだってあり得ますよね?もう考え方が違うのかな?なんのために0や1で割るのかですよ。意味のない計算は通さないか結果を返すようにしてしまうので。
それも仕様次第でもありますが、コーダーの経験次第でもあるかな?
システムが一つとは言ってないのでは?
「コーディング規約で除算前に0チェックすることが強制されていて、そうしないとレビューで弾かれる」みたいな状況かと。
# これに「仕様や要件では0除算時の動作が考慮されていない」が加わると悲惨なことになる
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
「科学者は100%安全だと保証できないものは動かしてはならない」、科学者「えっ」、プログラマ「えっ」
仕様次第かな? (スコア:2)
> ゼロ除算発生時に「0」を返す
よりもバリデーションでゼロ除算を発生させない方向には向かえないんですかね?
Re: (スコア:0)
>ゼロ除算のチェックに疲れ果てた
からでは?
Re:仕様次第かな? (スコア:2)
> >ゼロ除算のチェックに疲れ果てた
> からでは?
どんなシステムかはわかりませんが、
入力値のバリデーションがチェックに疲れるほどあるシステムに問題がありますね。
もうつくっちゃったから仕方がないのですかね?
Re: (スコア:0)
計算の途中で0になるケースもあるだろうし、入力値とは限らないと思うが。
計算式を全部関数化してしまえというのであれば、入力値の確認だけですむけど
それはそれでどうなんだろう・・・。
ただポインタのNULLチェックのほうがはるかに面倒な気がするけど。
関数のほとんどがNULLチェックで、肝心のロジック自体は1~2行というのを良く見るわ。
Re: (スコア:0)
計算の途中で0になるケースもあるだろうし、入力値とは限らないと思うが。
ないでしょ。
計算したら0になってその値で割るなんて。
Re:仕様次第かな? (スコア:2)
いやいや、いくらでもあるでしょう。
プログラム中割り算なんていくらでも使うし、その割る数が入力値じゃないケースの方が圧倒的に多いし、それが理論上0になる可能性がある場合なんていくらでもあるでしょう。
例えば実行件数を時間の差分で割る場合とか、時間の差分はOSの時刻を変更されたら0になることだってあり得ますよね?
Re: (スコア:0)
> 例えば実行件数を時間の差分で割る場合とか、
> 時間の差分はOSの時刻を変更されたら0になることだってあり得ますよね?
もう考え方が違うのかな?
なんのために0や1で割るのかですよ。
意味のない計算は通さないか結果を返すようにしてしまうので。
それも仕様次第でもありますが、コーダーの経験次第でもあるかな?
Re: (スコア:0)
システムが一つとは言ってないのでは?
Re: (スコア:0)
「コーディング規約で除算前に0チェックすることが強制されていて、そうしないとレビューで弾かれる」みたいな状況かと。
# これに「仕様や要件では0除算時の動作が考慮されていない」が加わると悲惨なことになる