Lass uns ein Spiel spielen

    PVS-Studio.  Lass uns ein Spiel spielen.
    Die Autoren des PVS-Studio-Analysators schlagen vor, dass Sie Ihre Aufmerksamkeit überprüfen.

    Codeanalysatoren arbeiten unermüdlich und können viele Fehler finden, die schwer zu bemerken sind. Wir haben einige Codefragmente ausgewählt, in denen wir mit PVS-Studio Fehler entdeckt haben. Alle Fragmente stammen aus bekannten Open-Source-Projekten.

    Wir schlagen vor, dass Sie mit den Analysatoren in Insight konkurrieren und versuchen, selbst Fehler zu finden. Ihnen werden 15 zufällig ausgewählte Aufgaben angeboten. Für die richtige Antwort gibt es einen Punkt, wenn es innerhalb von 1 Minute gegeben wird. Die Code-Schnipsel sind kurz und 1 Minute ist eine ehrliche Einschränkung.


    Betrachten Sie ein paar Beispiele mit Fehlern und erklären Sie, wie die richtige Antwort angegeben wird.

    Das erste Beispiel. Hier ist der folgende Code:

    Beispiel 1

    Hier wird der Fehler rot hervorgehoben. Bei der Lösung von Problemen wird dies natürlich nicht passieren.

    Der Programmierer hat versehentlich versiegelt und anstelle von Index 2 3 geschrieben. Wenn der Mauszeiger über den Code bewegt wird, werden verschiedene Wörter und Zahlen hervorgehoben. Sie müssen den Mauszeiger über die Zahl 3 halten und mit der linken Maustaste klicken.

    Dies wird die richtige Antwort sein.

    Zweites Beispiel. Es ist nicht immer möglich, eindeutig anzugeben, wo der Fehler liegt: Die

    Beispiel 2

    Größe des Puffers muss mit der Zahl 48 verglichen werden. Die zusätzliche Operatorgröße von () ist versehentlich in den Code gelangt. Infolgedessen wird die Größe des Puffers mit der Größe des int-Typs verglichen.

    Meiner Meinung nach ist der Fehler der "sizeof" -Operator, und genau darauf müssen Sie mit der Maus zeigen. Ohne jedoch den gesamten Text des Programms vor Augen zu haben, können wir so argumentieren. Der Operator 'sizeof' sollte die Größe eines Puffers berechnen, aber er hat versehentlich ein Makro verschoben. Der Fehler ist die Verwendung von "SSL3_MASTER_SECRET_LENGTH".

    In solchen Fällen wird die Antwort als wahr gewertet, unabhängig davon, ob Sie "sizeof" oder "SSL3_MASTER_SECRET_LENGTH" wählen.

    Und jetzt wünschen wir Ihnen viel Glück. Starte das Spiel .

    PS Wir verstehen, dass die Aufgaben nicht perfekt sind, es ist nicht immer offensichtlich, wo Sie "die Maus stecken" müssen, und das System kann auf Wunsch getäuscht werden. Denken Sie jedoch daran, dass dieser Abschnitt der Website zu Unterhaltungszwecken und nicht zum vollständigen Testen von Personen erstellt wurde.

    Jetzt auch beliebt: