En aquest tema, explorarem les millors pràctiques per escriure i mantenir codi CL (Control Language) de manera eficient i segura. Aquestes pràctiques t'ajudaran a crear programes més robustos, llegibles i fàcils de mantenir.

  1. Escriptura de Codi Clar i Llegible

1.1. Utilitza Noms Descriptius

  • Variables: Utilitza noms de variables que descriguin clarament el seu propòsit.
  • Comandes: Assegura't que les comandes CL tinguin noms que reflecteixin la seva funció.

Exemple:

DCL VAR(&UserName) TYPE(*CHAR) LEN(50)
DCL VAR(&UserAge) TYPE(*DEC) LEN(3 0)

1.2. Comentaris Efectius

  • Comentaris: Escriu comentaris que expliquin el perquè del codi, no només el què.
  • Documentació: Documenta les seccions complexes del codi per facilitar la comprensió futura.

Exemple:

/* Comprova si l'usuari és major d'edat */
IF COND(&UserAge >= 18) THEN(DO)
    /* Codi per a usuaris majors d'edat */
ENDDO

1.3. Formatació Consistent

  • Indentació: Utilitza una indentació consistent per millorar la llegibilitat.
  • Espais i Línies: Separa les seccions del codi amb línies en blanc per a una millor organització visual.

Exemple:

IF COND(&UserAge >= 18) THEN(DO)
    /* Codi per a usuaris majors d'edat */
ENDDO
ELSE DO
    /* Codi per a usuaris menors d'edat */
ENDDO

  1. Gestió d'Errors

2.1. Utilitza Comandes de Gestió d'Errors

  • MONMSG: Utilitza la comanda MONMSG per capturar i gestionar errors.
  • LOG: Registra els errors per a una futura anàlisi.

Exemple:

CALL PGM(MYPROGRAM) PARM(&UserName &UserAge)
MONMSG MSGID(CPF0000) EXEC(DO)
    /* Registra l'error */
    SNDPGMMSG MSG('Error en executar MYPROGRAM') TOUSR(*SYSOPR)
ENDDO

2.2. Validació de Dades

  • Comprova les Entrades: Valida les dades d'entrada abans de processar-les.
  • Gestió de Valors Nuls: Assegura't que les variables no continguin valors nuls inesperats.

Exemple:

IF COND(&UserName *EQ '') THEN(DO)
    SNDPGMMSG MSG('El nom d'usuari no pot estar buit') TOUSR(*SYSOPR)
    RETURN
ENDDO

  1. Optimització del Rendiment

3.1. Evita la Redundància

  • Reutilitza Codi: Evita duplicar codi reutilitzant subrutines i procediments.
  • Elimina Codi Innecessari: Revisa i elimina codi que no sigui necessari.

Exemple:

CALLSUBR SUBR(ValidateUser)
CALLSUBR SUBR(ProcessUser)

3.2. Utilitza Comandes Eficients

  • Comandes Optimitzades: Utilitza comandes que estiguin optimitzades per a la tasca específica.
  • Evita Bucles Innecessaris: Redueix l'ús de bucles quan sigui possible.

Exemple:

/* Utilitza RTVJOBA en lloc de múltiples comandes per obtenir informació del treball */
RTVJOBA JOB(&JobName) USER(&UserName) NBR(&JobNumber)

  1. Seguretat i Permisos

4.1. Control d'Accés

  • Permisos: Assegura't que només els usuaris autoritzats tinguin accés a les comandes i dades sensibles.
  • Auditoria: Implementa mecanismes d'auditoria per registrar l'accés i les modificacions.

Exemple:

GRTOBJAUT OBJ(MYFILE) OBJTYPE(*FILE) USER(MYUSER) AUT(*USE)

4.2. Protecció de Dades

  • Encriptació: Utilitza encriptació per protegir dades sensibles.
  • Validació d'Entrades: Valida les entrades per evitar injeccions de codi i altres atacs.

Exemple:

/* Encripta la contrasenya abans de guardar-la */
CALL PGM(ENCRYPT) PARM(&Password &EncryptedPassword)

Conclusió

Seguint aquestes millors pràctiques, podràs escriure codi CL que sigui més segur, eficient i fàcil de mantenir. Recorda que la claredat i la seguretat són claus per a qualsevol projecte de programació. A mesura que avancis en el teu aprenentatge, continua aplicant aquestes pràctiques per millorar constantment la qualitat del teu codi.


Amb això, hem completat el tema de Millors Pràctiques. Ara estàs preparat per aplicar aquests principis en els teus projectes CL i assegurar-te que el teu codi sigui robust i eficient.

© Copyright 2024. Tots els drets reservats