アカウント名:
パスワード:
iOS7.0.6で修正された「最悪のセキュリティバグ」はありがちなコーディングミスで発生していたhttp://apple.srad.jp/story/14/02/24/094232/ [srad.jp]
goto問題じゃなくてifの使い方だろ
いや static変数の使い方 と 値を入れてないままの変数を返しているってのをチェックできていないというのが本質だろう。static変数の定義が明示的な初期化が無くても0が保証されるという仕様は、バグの元だとおもう。この仕様がため、代入前の参照が警告にもならなかったのだろうし。初期化子のない変数は-1などトラップされやすい値を入れるとか、デバッグ用コンパイルスイッチがあってもよさそう.
いや、人間の注意力を過信してるのがいけないだけ。if書いた後必ずブロックを開く({を書く)ようにすればバグは出ない。
これに一票。括弧のタイプが面倒とか行数がちょっと増えるなんて、ヒューマンエラーを避けるためにはデメリットでもなんでもないですよね。自分の周りにもいますが腕に自信ある人ほど人間がミスをしない前提で思考している気がする。
つうかパターンテストすれば。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
私は悩みをリストアップし始めたが、そのあまりの長さにいやけがさし、何も考えないことにした。-- Robert C. Pike
goto fail; (スコア:1, 参考になる)
iOS7.0.6で修正された「最悪のセキュリティバグ」はありがちなコーディングミスで発生していた
http://apple.srad.jp/story/14/02/24/094232/ [srad.jp]
Re: (スコア:1)
goto問題じゃなくてifの使い方だろ
Re: (スコア:2, すばらしい洞察)
いや static変数の使い方 と 値を入れてないままの変数を返しているってのをチェックできていないというのが本質だろう。
static変数の定義が明示的な初期化が無くても0が保証されるという仕様は、バグの元だとおもう。この仕様がため、代入前の参照が警告にもならなかったのだろうし。
初期化子のない変数は-1などトラップされやすい値を入れるとか、デバッグ用コンパイルスイッチがあってもよさそう.
Re:goto fail; (スコア:0)
いや、人間の注意力を過信してるのがいけないだけ。
if書いた後必ずブロックを開く({を書く)ようにすればバグは出ない。
Re: (スコア:0)
これに一票。
括弧のタイプが面倒とか行数がちょっと増えるなんて、ヒューマンエラーを避けるためにはデメリットでもなんでもないですよね。
自分の周りにもいますが腕に自信ある人ほど人間がミスをしない前提で思考している気がする。
Re: (スコア:0)
つうかパターンテストすれば。