PVS-Studioアナライザーの作成者は、注意力を確認することをお勧めします。
コードアナライザーは疲れることなく動作し、気づきにくい多くのエラーを見つけることができます。 PVS-Studioを使用してエラーを検出したコードフラグメントを選択しました。 すべてのフラグメントは、有名なオープンソースプロジェクトから取得されます。
洞察力のあるアナライザーと競合し、自分でエラーを見つけようとすることをお勧めします。 15のランダムに選択されたタスクが提供されます。 正解のために、1分以内に与えられた場合、1つのポイントがあります。 コードスニペットは短く、1分は正直な制限です。
エラーのあるいくつかの例を検討し、正しい答えを示す方法を説明します。
最初の例。 次のコードは次のとおりです。
ここでは、エラーが赤で強調表示されています。 もちろん、問題を解決する際に、これは起こりません。
プログラマーが誤って封印し、インデックス2の代わりに3を書いた。マウスカーソルがコード上を移動すると、さまざまな単語と数字が強調表示されます。 番号3にカーソルを合わせて、マウスの左ボタンをクリックする必要があります。
これが正解です。
2番目の例。 エラーがどこにあるかを明確に示すことは常に可能とは限りません。
バッファーのサイズを数値48と比較する必要があります。余分な演算子sizeof()が誤ってコードにポップされました。 その結果、バッファーのサイズがint型のサイズと比較されます。
私の意見では、エラーは「sizeof」演算子であり、マウスでポイントする必要があるのはまさにその上です。 ただし、プログラムのテキスト全体を目の前に置かずに、このように推論できます。 演算子 'sizeof'は何らかのバッファーのサイズを計算するはずでしたが、誤ってマクロをスリップしました。 エラーは、「SSL3_MASTER_SECRET_LENGTH」の使用です。
このような場合、「sizeof」または「SSL3_MASTER_SECRET_LENGTH」を選択したかどうかに関係なく、答えはtrueとしてカウントされます。
そして今、私たちはあなたに幸運を祈ります。
ゲームを開始します。
PS私たちは、タスクが完璧ではなく、「マウスを突く」必要がある場所が常に明らかではないことを理解しており、必要に応じてシステムがだまされる可能性があります。 サイトのこのセクションは、娯楽のために作成されたものであり、誰かを完全にテストするためではないことに注意してください。