Skip to main content

Erläutern von Legacycode

Copilot Chat kann beim Erläutern von unbekanntem Code helfen.

Eine der größten Herausforderungen bei Legacycode ist es, ihn Entwicklern zu erklären, die nicht mit den Sprachen oder Frameworks vertraut sind. Bei Copilot Chat kannst du deinen Hintergrund erklären und eine Erläuterung anfordern.

Beispielszenario

Beachte den folgenden COBOL-Code. Wenn du z. B. ein Python-Entwickler bist, kennst du dich möglicherweise nicht mit COBOL-Code aus. Du könntest Copilot Chat auffordern, dir den Code zu erläutern.

IDENTIFICATION DIVISION.
PROGRAM-ID. INSERT-RECORD.

ENVIRONMENT DIVISION.

DATA DIVISION.
WORKING-STORAGE SECTION.
01  WS-STATUS-FLAGS.
    05 WS-DB-STATUS     PIC X(2).
       88 WS-SUCCESS    VALUE "00".
    05 WS-SQLCODE       PIC S9(9) COMP.
    05 WS-ERROR-MSG     PIC X(50).

LINKAGE SECTION.
01  LS-PARAMETERS.
    05 LS-PERSON-RECORD.
       10 PERSON-ID     PIC 9(6).
       10 PERSON-NAME   PIC X(50).
       10 PERSON-AGE    PIC 9(3).
    05 LS-RESULT        PIC X.
       88 SUCCESS       VALUE 'T'.
       88 FAILED        VALUE 'F'.

PROCEDURE DIVISION USING LS-PARAMETERS.
    PERFORM INSERT-AND-VALIDATE
    GOBACK
    .

INSERT-AND-VALIDATE.
    EXEC SQL
        INSERT INTO persons (id, name, age)
        VALUES (:PERSON-ID, :PERSON-NAME, :PERSON-AGE)
    END-EXEC

    IF SQLCODE = 0
        EXEC SQL COMMIT END-EXEC
        SET SUCCESS TO TRUE
    ELSE
        EXEC SQL ROLLBACK END-EXEC
        SET FAILED TO TRUE
        STRING "DB Error: " SQLCODE 
            DELIMITED BY SIZE 
            INTO WS-ERROR-MSG
        DISPLAY WS-ERROR-MSG
    END-IF
    .

Beispiel für Prompt

Du kannst mit der Sichtweise eines Python-Entwicklers eine Erklärung des COBOL-Codes anfordern.

I'm a Python developer. Help me better understand this code. Please provide analogies.

Beispielantwort

Note

Die folgende Antwort ist ein Beispiel. Da die Copilot Chat-Antworten nicht deterministisch sind, erhältst du möglicherweise eine andere Antwort als die hier beschriebene.

Copilot bietet eine allgemeine Übersicht über den Code, bevor die einzelnen Vorgänge auf eine Weise erklärt werden, die Python-Entwickler verstehen. Copilot verwendet Analogien, um die Erklärung verständlicher zu machen. Die Antwort könnte mit Folgendem beginnen:

Let me explain this COBOL code using Python analogies:

High-Level Overview
This is similar to a Python function that inserts a person's record into a database with error handling.
# In Python, the COBOL divisions would be like:

# IDENTIFICATION DIVISION = module/file name
# PROGRAM-ID = function name
def insert_record():
    pass

# DATA DIVISION would be like declaring these variables:
class WorkingStorage:
    db_status = ""  # WS-DB-STATUS
    sqlcode = 0     # WS-SQLCODE
    error_msg = ""  # WS-ERROR-MSG

# LINKAGE SECTION is like function parameters
class PersonRecord:
    def __init__(self, person_id: int, person_name: str, person_age: int):
        self.person_id = person_id    # PERSON-ID
        self.person_name = person_name # PERSON-NAME
        self.person_age = person_age   # PERSON-AGE
        self.success = False          # LS-RESULT

Weitere Informationen