Skip to main content

Explication du code hérité

Copilot Chat peut aider Ă  expliquer un code peu familier.

L’un des principaux dĂ©fis liĂ©s au code hĂ©ritĂ© aide les dĂ©veloppeurs Ă  comprendre qui ne sont pas familiarisĂ©s avec les langages ou les cadres. Avec Copilot Chat, vous pouvez expliquer votre niveau de connaissance et demander une explication.

Exemple de scénario

ConsidĂ©rons le code COBOL suivant. Si vous ĂȘtes dĂ©veloppeur Python (par exemple), vous ne connaissez peut-ĂȘtre pas le COBOL. Vous pouvez alors demander Ă  Copilot Chat de vous expliquer le code.

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
    .

Exemples d’invite

Vous pouvez demander une explication du code COBOL du point de vue d’un dĂ©veloppeur Python.

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

Exemple de réponse

Remarque

La réponse suivante est un exemple. Les réponses Copilot Chat ne sont pas déterministes, vous pouvez donc obtenir une réponse différente de celle affichée ici.

Copilot fournit une vue d'ensemble du code, avant de passer en revue les diffĂ©rentes opĂ©rations et de les expliquer d'une maniĂšre comprĂ©hensible pour les dĂ©veloppeurs Python. Il utilise des analogies pour rendre l’explication plus accessible. La rĂ©ponse peut commencer par les Ă©lĂ©ments suivants :

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

Pour aller plus loin