En aquest tema, aprendrem com organitzar el codi de manera eficient i com documentar-lo adequadament per facilitar el manteniment i la col·laboració en projectes de programació. La bona organització del codi i una documentació clara són essencials per a qualsevol desenvolupador, ja que milloren la llegibilitat, la reutilització i la facilitat de depuració del codi.

  1. Importància de l'Organització del Codi

1.1. Beneficis de l'Organització del Codi

  • Millora la llegibilitat: Un codi ben organitzat és més fàcil de llegir i entendre.
  • Facilita el manteniment: Permet identificar i corregir errors més ràpidament.
  • Fomenta la reutilització: Codi ben estructurat pot ser reutilitzat en altres projectes.
  • Facilita la col·laboració: Altres desenvolupadors poden entendre i treballar amb el teu codi més fàcilment.

1.2. Principis de l'Organització del Codi

  • Modularitat: Divideix el codi en mòduls o unitats lògiques.
  • Consistència: Utilitza convencions de nomenclatura i estil de codi consistents.
  • Simplicitat: Mantén el codi tan simple com sigui possible.
  • Documentació: Afegeix comentaris i documentació per explicar el codi.

  1. Estructura de Projectes en Delphi

2.1. Estructura de Carpetes

Organitzar les carpetes del projecte de manera lògica ajuda a mantenir el codi net i accessible.

MyDelphiProject/
├── src/
│   ├── main.pas
│   ├── utils.pas
│   └── forms/
│       ├── mainform.pas
│       └── settingsform.pas
├── docs/
│   ├── README.md
│   └── API_Documentation.md
├── tests/
│   ├── test_main.pas
│   └── test_utils.pas
└── assets/
    ├── images/
    └── styles/

2.2. Nomenclatura de Fitxers i Unitats

  • Fitxers de codi: Utilitza noms descriptius i consistents per als fitxers de codi (e.g., main.pas, utils.pas).
  • Unitats: Les unitats han de tenir noms que reflecteixin la seva funcionalitat (e.g., TMainForm, TSettingsForm).

  1. Convencions de Nomenclatura

3.1. Variables i Constants

  • Variables locals: varName
  • Variables globals: gVarName
  • Constants: CONST_NAME

3.2. Funcions i Procediments

  • Funcions: FunctionName
  • Procediments: ProcedureName

3.3. Classes i Objectes

  • Classes: TClassName
  • Objectes: ObjectName

  1. Documentació del Codi

4.1. Comentaris en el Codi

  • Comentaris de línia: Utilitza comentaris de línia per explicar línies específiques de codi.
    // Aquest és un comentari de línia
    x := x + 1; // Incrementa x en 1
    
  • Comentaris de bloc: Utilitza comentaris de bloc per explicar seccions més grans de codi.
    {
      Aquest és un comentari de bloc.
      Pot ocupar múltiples línies.
    }
    

4.2. Documentació de Funcions i Procediments

  • Descripció: Proporciona una descripció clara del que fa la funció o procediment.
  • Paràmetres: Explica els paràmetres d'entrada.
  • Valor de retorn: Descriu el valor de retorn (si n'hi ha).

Exemple:

{
  Funció que calcula la suma de dos enters.
  @param a Primer enter.
  @param b Segon enter.
  @return La suma de a i b.
}
function Sum(a, b: Integer): Integer;
begin
  Result := a + b;
end;

4.3. Documentació de Classes

  • Descripció de la classe: Proporciona una descripció general de la classe.
  • Descripció dels mètodes: Documenta cada mètode de la classe.

Exemple:

{
  Classe que representa un punt en un pla 2D.
}
TPoint = class
private
  FX: Integer;
  FY: Integer;
public
  {
    Constructor que inicialitza el punt amb coordenades donades.
    @param X Coordenada X.
    @param Y Coordenada Y.
  }
  constructor Create(X, Y: Integer);
  {
    Mètode que mou el punt a una nova posició.
    @param NewX Nova coordenada X.
    @param NewY Nova coordenada Y.
  }
  procedure MoveTo(NewX, NewY: Integer);
end;

  1. Eines de Documentació

5.1. Doxygen

Doxygen és una eina popular per generar documentació a partir de comentaris en el codi.

5.2. PasDoc

PasDoc és una eina específica per a Delphi/Object Pascal que genera documentació a partir de comentaris en el codi.

Exercicis Pràctics

Exercici 1: Organització de Projecte

  1. Crea una estructura de carpetes per a un projecte Delphi seguint les bones pràctiques descrites.
  2. Organitza els fitxers de codi en les carpetes adequades.

Exercici 2: Documentació de Funcions

  1. Escriu una funció que calculi el factorial d'un nombre enter.
  2. Afegeix comentaris i documentació a la funció seguint les convencions descrites.

Solucions

Solució Exercici 1

MyDelphiProject/
├── src/
│   ├── main.pas
│   ├── utils.pas
│   └── forms/
│       ├── mainform.pas
│       └── settingsform.pas
├── docs/
│   ├── README.md
│   └── API_Documentation.md
├── tests/
│   ├── test_main.pas
│   └── test_utils.pas
└── assets/
    ├── images/
    └── styles/

Solució Exercici 2

{
  Funció que calcula el factorial d'un nombre enter.
  @param n Nombre enter del qual es vol calcular el factorial.
  @return El factorial de n.
}
function Factorial(n: Integer): Integer;
var
  i, result: Integer;
begin
  result := 1;
  for i := 1 to n do
    result := result * i;
  Result := result;
end;

Conclusió

En aquesta secció, hem après la importància de l'organització del codi i la documentació en Delphi/Object Pascal. Hem vist com estructurar projectes, utilitzar convencions de nomenclatura i documentar el codi de manera efectiva. Aquests coneixements són fonamentals per a qualsevol desenvolupador que vulgui escriure codi net, llegible i fàcil de mantenir. En la propera secció, explorarem els patrons de disseny en Delphi.

Curs de Programació Delphi/Object Pascal

Mòdul 1: Introducció a Delphi/Object Pascal

Mòdul 2: Estructures de Control i Procediments

Mòdul 3: Treballant amb Dades

Mòdul 4: Programació Orientada a Objectes

Mòdul 5: Funcions Avançades de Delphi

Mòdul 6: Desenvolupament d'Interfícies Gràfiques amb VCL i FMX

Mòdul 7: Desenvolupament Web i Mòbil

Mòdul 8: Millors Pràctiques i Patrons de Disseny

Mòdul 9: Projecte Final

© Copyright 2024. Tots els drets reservats