La revisió de codi és una part essencial del procés de desenvolupament de programari. No només ajuda a detectar errors i millorar la qualitat del codi, sinó que també fomenta l'aprenentatge i la col·laboració entre els membres de l'equip. En aquesta secció, explorarem les millors pràctiques per a la revisió de codi i com proporcionar feedback constructiu.

Objectius de la Revisió de Codi

  1. Millorar la Qualitat del Codi: Identificar i corregir errors, millorar la llegibilitat i assegurar-se que el codi compleix amb els estàndards establerts.
  2. Compartir Coneixement: Fomentar l'aprenentatge entre els membres de l'equip, compartint tècniques i solucions.
  3. Detectar Problemes de Disseny: Identificar problemes potencials en el disseny del sistema abans que es converteixin en problemes majors.
  4. Assegurar la Consistència: Garantir que el codi segueix un estil i convencions consistents.

Millors Pràctiques per a la Revisió de Codi

  1. Establir Estàndards de Codi

  • Defineix un conjunt d'estàndards de codi que tots els membres de l'equip han de seguir.
  • Utilitza eines de formateig automàtic per assegurar la consistència.

  1. Utilitzar Eines de Revisió de Codi

  • Plataformes com GitHub, GitLab o Bitbucket ofereixen eines integrades per a la revisió de codi.
  • Aquestes eines permeten fer comentaris línia per línia i gestionar les sol·licituds de canvi.

  1. Revisar Codi en Petites Quantitats

  • Les revisions de codi han de ser manejables. Revisar grans quantitats de codi pot ser aclaparador i menys efectiu.
  • Recomanació: Revisar no més de 200-400 línies de codi per sessió.

  1. Proporcionar Feedback Constructiu

  • Sigues específic en els teus comentaris. En lloc de dir "Això no està bé", explica per què i com es pot millorar.
  • Utilitza un to positiu i respectuós. Recorda que l'objectiu és millorar el codi, no criticar la persona.

  1. Fomentar la Discussió i el Diàleg

  • La revisió de codi ha de ser un procés col·laboratiu. Fomenta la discussió i el diàleg per arribar a les millors solucions.

  1. Documentar les Decisions

  • Mantingues un registre de les decisions preses durant la revisió de codi. Això ajuda a mantenir la coherència i serveix com a referència futura.

Exemple de Revisió de Codi

Fragment de Codi a Revisar

#include <stdio.h>

void printArray(int arr[], int size) {
    for (int i = 0; i < size; i++) {
        printf("%d ", arr[i]);
    }
    printf("\n");
}

int main() {
    int myArray[5] = {1, 2, 3, 4, 5};
    printArray(myArray, 5);
    return 0;
}

Comentaris de Revisió

  1. Comentari sobre la Funció printArray:

    • Comentari: "Considera afegir una descripció de la funció printArray per explicar què fa i quins són els seus paràmetres."
    • Feedback Constructiu: "Afegir comentaris a les funcions ajuda a altres desenvolupadors a entendre el codi més ràpidament. Per exemple: // Aquesta funció imprimeix els elements d'un array."
  2. Comentari sobre l'ús de printf:

    • Comentari: "És una bona pràctica afegir un espai o un caràcter de nova línia després de l'últim element per millorar la llegibilitat de la sortida."
    • Feedback Constructiu: "Podries modificar la línia printf("%d ", arr[i]); a printf("%d ", arr[i]); per assegurar que la sortida és més clara."
  3. Comentari sobre la Declaració de l'Array:

    • Comentari: "Considera utilitzar una constant per a la mida de l'array per facilitar el manteniment del codi."
    • Feedback Constructiu: "Definir una constant com #define SIZE 5 i utilitzar-la en lloc de 5 a la declaració de l'array i la crida a printArray."

Codi Revisat

#include <stdio.h>

#define SIZE 5

// Aquesta funció imprimeix els elements d'un array
void printArray(int arr[], int size) {
    for (int i = 0; i < size; i++) {
        printf("%d ", arr[i]);
    }
    printf("\n");
}

int main() {
    int myArray[SIZE] = {1, 2, 3, 4, 5};
    printArray(myArray, SIZE);
    return 0;
}

Exercici Pràctic

Tasca

Revisa el següent fragment de codi i proporciona feedback constructiu:

#include <stdio.h>

void reverseArray(int arr[], int size) {
    int start = 0;
    int end = size - 1;
    while (start < end) {
        int temp = arr[start];
        arr[start] = arr[end];
        arr[end] = temp;
        start++;
        end--;
    }
}

int main() {
    int myArray[6] = {1, 2, 3, 4, 5, 6};
    reverseArray(myArray, 6);
    for (int i = 0; i < 6; i++) {
        printf("%d ", myArray[i]);
    }
    printf("\n");
    return 0;
}

Solució Proposada

  1. Comentari sobre la Funció reverseArray:

    • Comentari: "Afegir una descripció de la funció reverseArray per explicar què fa i quins són els seus paràmetres."
    • Feedback Constructiu: "Afegir comentaris a les funcions ajuda a altres desenvolupadors a entendre el codi més ràpidament. Per exemple: // Aquesta funció inverteix els elements d'un array."
  2. Comentari sobre la Declaració de l'Array:

    • Comentari: "Considera utilitzar una constant per a la mida de l'array per facilitar el manteniment del codi."
    • Feedback Constructiu: "Definir una constant com #define SIZE 6 i utilitzar-la en lloc de 6 a la declaració de l'array i la crida a reverseArray."
  3. Comentari sobre l'ús de printf:

    • Comentari: "És una bona pràctica afegir un espai o un caràcter de nova línia després de l'últim element per millorar la llegibilitat de la sortida."
    • Feedback Constructiu: "Podries modificar la línia printf("%d ", myArray[i]); a printf("%d ", myArray[i]); per assegurar que la sortida és més clara."

Codi Revisat

#include <stdio.h>

#define SIZE 6

// Aquesta funció inverteix els elements d'un array
void reverseArray(int arr[], int size) {
    int start = 0;
    int end = size - 1;
    while (start < end) {
        int temp = arr[start];
        arr[start] = arr[end];
        arr[end] = temp;
        start++;
        end--;
    }
}

int main() {
    int myArray[SIZE] = {1, 2, 3, 4, 5, 6};
    reverseArray(myArray, SIZE);
    for (int i = 0; i < SIZE; i++) {
        printf("%d ", myArray[i]);
    }
    printf("\n");
    return 0;
}

Conclusió

La revisió de codi és una eina poderosa per millorar la qualitat del codi i fomentar la col·laboració dins d'un equip de desenvolupament. Seguint les millors pràctiques i proporcionant feedback constructiu, podem assegurar-nos que el nostre codi és robust, llegible i mantenible. Recorda que l'objectiu de la revisió de codi és aprendre i millorar contínuament.

Curs de Programació en C

Mòdul 1: Introducció al C

Mòdul 2: Tipus de Dades i Variables

Mòdul 3: Flux de Control

Mòdul 4: Funcions

Mòdul 5: Arrays i Strings

Mòdul 6: Punteres

Mòdul 7: Estructures i Unions

Mòdul 8: Assignació Dinàmica de Memòria

Mòdul 9: Gestió d'Arxius

Mòdul 10: Temes Avançats

Mòdul 11: Millors Pràctiques i Optimització

Mòdul 12: Projecte i Avaluació Final

© Copyright 2024. Tots els drets reservats