En aquest tema, explorarem les millors pràctiques per escriure codi en Ada que sigui llegible, mantenible i eficient. Seguir un bon estil de codi no només facilita la col·laboració amb altres programadors, sinó que també ajuda a evitar errors i a millorar la qualitat del programari.

  1. Nomenclatura

1.1. Identificadors

  • Variables i Constants: Utilitza noms descriptius i significatius. Les variables han de començar amb una lletra minúscula i utilitzar el format snake_case.

    number_of_students : Integer;
    max_value : constant Integer := 100;
    
  • Procediments i Funcions: Els noms de procediments i funcions han de començar amb una lletra majúscula i utilitzar el format CamelCase.

    procedure CalculateAverage is
    begin
      -- Implementació
    end CalculateAverage;
    
  • Paquets: Els noms de paquets han de ser en majúscules i utilitzar el format CamelCase.

    package MathUtilities is
      -- Declaracions
    end MathUtilities;
    

1.2. Comentaris

  • Comentaris de Línia: Utilitza comentaris de línia per explicar el propòsit del codi. Els comentaris han de ser breus i al punt.

    -- Calcula la mitjana dels valors
    procedure CalculateAverage is
    begin
      -- Implementació
    end CalculateAverage;
    
  • Comentaris de Bloc: Utilitza comentaris de bloc per explicar seccions més grans de codi o lògica complexa.

    -- 
    -- Aquesta secció del codi s'encarrega de processar les dades d'entrada
    -- i generar els resultats corresponents.
    --
    procedure ProcessData is
    begin
      -- Implementació
    end ProcessData;
    

  1. Estructura del Codi

2.1. Indentació

  • Utilitza espais per a la indentació (recomanat 2 o 4 espais per nivell d'indentació).
    procedure ExampleProcedure is
    begin
        if condition then
            -- Codi
        else
            -- Codi
        end if;
    end ExampleProcedure;
    

2.2. Línies de Codi

  • Mantingues les línies de codi curtes (màxim 80 caràcters) per millorar la llegibilitat.
    if (number_of_students > max_students) and (classroom_is_full) then
        -- Codi
    end if;
    

  1. Estructura de Programes

3.1. Declaracions

  • Agrupa les declaracions de variables al principi del bloc de codi.
    procedure ExampleProcedure is
        number_of_students : Integer;
        max_students : constant Integer := 30;
    begin
        -- Codi
    end ExampleProcedure;
    

3.2. Subprogrames

  • Divideix el codi en subprogrames (procediments i funcions) per millorar la modularitat i la reutilització.
    procedure Main is
    begin
        Initialize;
        ProcessData;
        Finalize;
    end Main;
    

  1. Millors Pràctiques

4.1. Evita la Duplicació de Codi

  • Reutilitza codi mitjançant subprogrames i paquets per evitar la duplicació.
    procedure CalculateAverage is
    begin
        -- Implementació
    end CalculateAverage;
    
    procedure Main is
    begin
        CalculateAverage;
        -- Altres operacions
    end Main;
    

4.2. Control d'Errors

  • Utilitza la gestió d'excepcions per manejar errors de manera robusta.
    procedure ReadFile is
    begin
        -- Intentar llegir un fitxer
    exception
        when others =>
            -- Manejar l'error
    end ReadFile;
    

4.3. Documentació

  • Documenta el codi amb comentaris i utilitza eines de documentació automàtica quan sigui possible.
    -- 
    -- Procedure CalculateAverage
    -- Calcula la mitjana dels valors d'un array.
    --
    procedure CalculateAverage is
    begin
        -- Implementació
    end CalculateAverage;
    

Exercicis Pràctics

Exercici 1: Nomenclatura i Comentaris

Refactoritza el següent codi per seguir les millors pràctiques de nomenclatura i comentaris:

procedure calcavg is
    n : Integer;
    sum : Integer := 0;
begin
    -- calculate sum
    for i in 1..10 loop
        sum := sum + i;
    end loop;
    n := sum / 10;
end calcavg;

Solució:

procedure CalculateAverage is
    number_of_elements : constant Integer := 10;
    sum : Integer := 0;
    average : Integer;
begin
    -- Calcula la suma dels elements
    for i in 1..number_of_elements loop
        sum := sum + i;
    end loop;
    
    -- Calcula la mitjana
    average := sum / number_of_elements;
end CalculateAverage;

Exercici 2: Modularització

Divideix el següent codi en subprogrames per millorar la modularitat:

procedure Main is
    sum : Integer := 0;
begin
    for i in 1..10 loop
        sum := sum + i;
    end loop;
    Put_Line("Sum: " & Integer'Image(sum));
end Main;

Solució:

procedure CalculateSum (number_of_elements : Integer; sum : out Integer) is
begin
    sum := 0;
    for i in 1..number_of_elements loop
        sum := sum + i;
    end loop;
end CalculateSum;

procedure Main is
    sum : Integer;
begin
    CalculateSum(10, sum);
    Put_Line("Sum: " & Integer'Image(sum));
end Main;

Conclusió

Seguir un bon estil de codi i les millors pràctiques és essencial per escriure programes en Ada que siguin llegibles, mantenibles i eficients. Hem cobert aspectes clau com la nomenclatura, la estructura del codi, la modularització i la documentació. Practicar aquestes tècniques t'ajudarà a convertir-te en un programador més efectiu i a produir codi de major qualitat.

© Copyright 2024. Tots els drets reservats