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.
- 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;
- 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;
- 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;
- 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.
Curs de Programació en Ada
Mòdul 1: Introducció a Ada
Mòdul 2: Conceptes Bàsics
- Variables i Tipus de Dades
- Operadors i Expressions
- Estructures de Control
- Bucles en Ada
- Subprogrames: Procediments i Funcions
Mòdul 3: Tipus de Dades Avançats
Mòdul 4: Programació Modular
Mòdul 5: Concurrència i Programació en Temps Real
Mòdul 6: Temes Avançats
Mòdul 7: Millors Pràctiques i Optimització
- Estil de Codi i Millors Pràctiques
- Depuració i Proves
- Optimització del Rendiment
- Consideracions de Seguretat
