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