Salta el contingut
 

Entorns de desenvolupament integrats

Joan Puigcerver Ibáñez

Llicència: CC BY-NC-SA 4.0

(Reconeixement - NoComercial - CompartirIgual) 🅭

Entorns de desenvolupament

Un entorn de desenvolupament integrat (Integrated Development Environment, IDE) es defineix com:

Casat, 2012:46

És una aplicació informàtica que té l'objectiu d'assistir al programador en la tasca de dissenyar i codificar un programari mitjançant la integració de múltiples eines destinades a aquesta tasca.

És a dir, és una aplicació informàtica que facilita la tasca de codificació i desenvolupament de programari. Els elements bàsics que conté són:

  • Editor de text: permet escriure i modificar el codi font.

    Els IDE moderns tenen ferramentes que assisteixen l'edició:

    • Ressaltat de sintaxi (syntax highlighting): mostra amb colors diferents cada element del codi.
    • Autocompletat de codi (autocompletion): suggereix com completar el que s'està escrivint.
    • Macros: generen fragments de codi habituals (en IntelliJ, Live Templates).
  • Compilador o intèrpret: tradueix i executa el codi font i genera executables.

  • Depurador (debugger): ajuda a trobar errors lògics en el codi.

Les seues característiques principals són:

  • Llenguatges: poden ser per a un o més llenguatges de programació.
  • Visualització: ajuden a visualitzar el codi font.
  • Navegació: permeten moure's ràpidament entre els fitxers de l'aplicació.

Utilitzar un IDE, per tant, suposa una ajuda a la programació. No obstant això, genera dependència, ja que cal acostumar-se al seu funcionament. A més, consumeixen més recursos i alguns són de pagament.

Hui dia hi ha editors de text que realitzen aquestes funcions bàsiques (Sublime Text, Visual Studio Code, Notepad++, TextPad...). Tots identifiquen i ressalten la sintaxi, i alguns permeten instal·lar extensions per incorporar ferramentes que els fan semblants a un IDE.

Per què utilitzar un IDE?

A banda de les funcionalitats bàsiques, els IDE moderns ofereixen moltes altres funcionalitats.

Una de les més importants és l'autocompletat de codi: cada vegada que es comença a escriure una paraula, apareix una ajuda contextual que indica les opcions més habituals per completar-la automàticament.

També permeten crear estructures de classes o bucles automàticament mitjançant macros o paraules clau.

A més, ofereixen ferramentes per refactoritzar, per depurar i altres opcions que ajuden a programar i que escurcen el cicle de vida del programari.

Els IDE són altament configurables. Cada persona pot configurar-lo com més li agrade: amb més o menys barres de ferramentes, amb dreceres de teclat, amb ordres personalitzades, amb diferents ubicacions dels panells, etc. També permeten configurar la depuració i la compilació de projectes, cosa que els converteix en una ferramenta còmoda i útil que agilitza el desenvolupament.

Finalment, els IDE s'integren fàcilment amb ferramentes de control de versions, que permeten desenvolupar d'una manera descentralitzada, distribuïda i col·laborativa. D'aquesta manera, diverses persones poden treballar sobre el mateix projecte, tal com passa en el programari lliure.

El control de versions es basa en repositoris on cada membre de l'equip publica els canvis que fa sobre el codi, i on es poden crear diferents branques per realitzar diferents tasques alhora.

A l'hora de triar un IDE, cal tindre en compte diversos factors:

  • Sistema operatiu: hui dia la gran majoria d'IDE són multiplataforma, però alguns només es poden instal·lar en una plataforma concreta.
  • Llenguatge de programació: un IDE pot admetre un o diversos llenguatges de programació, però potser es comporta millor amb uns que amb altres.
  • Marc de treball (framework): l'IDE hauria d'admetre el framework que s'utilitza en el projecte.
  • Ferramentes: no tots els IDE ofereixen les mateixes funcions.
  • Llicència: no tots els IDE són gratuïts, i no tots els gratuïts permeten desenvolupar programari en qualsevol condició.

Depurador

El depurador (debugger) és una ferramenta que permet visualitzar el flux d'execució d'un programa per comprovar-ne el funcionament i detectar possibles errors lògics, és a dir, errors en codi sintàcticament correcte que no fa el que s'espera. A més, permet observar les variables definides i el valor que prenen en cada moment.

Per iniciar el depurador, cal executar el programa amb l'opció Debug.

Cada IDE té una interfície diferent per depurar el codi, però tots els depuradors tenen uns elements bàsics (Figura 1):

  • Breakpoint: punt de parada. El depurador para l'execució del programa en la línia seleccionada i permet vore el valor de les variables definides en aquell moment.
  • Resume execution: continua l'execució del programa normalment, fins que troba un altre breakpoint o acaba.
  • Step over: executa la instrucció següent. Si és una crida a un mètode, executa tot el mètode i continua.
  • Step into: executa la instrucció següent. Si és una crida a un mètode, continua l'execució dins del mètode.
  • Step out: continua l'execució fins a eixir del mètode actual i es para en la instrucció que l'havia cridat.

Botons de depuració

Figura 1. Botons de depuració.

Documentació oficial: Debug code – IntelliJ IDEA

Exemple: Depurar un programa

L'objectiu d'aquest exemple és mostrar el funcionament bàsic del depurador amb el programa següent:

DebugRepetirNom.java
package ud1.examples;

public class DebugRepetirNom {
    public static void main(String[] args) {
        String name = "Nom";
        String surname = "Cognom";
        int repeticions = 100;

        for (int i = 0; i < repeticions; i++) {
            System.out.printf("%d. %s %s\n", i, name, surname);
        }
    }
}

Exemple de depuració

Figura 2. Exemple de depuració.

  1. Abans que res, s'ha configurat un Breakpoint en la línia 7. Això indica al depurador que ha de parar l'execució del programa en aquesta línia. Es pot fer clic al costat del número de la línia per marcar o desmarcar el breakpoint.
  2. A continuació, s'ha començat l'execució del programa en mode de depuració amb el botó Debug. També es pot fer des del menú contextual que apareix en fer clic amb el botó dret sobre el codi font.
  3. El programa comença a executar-se i es para en la línia 7. S'observa en la pestanya Debugger que s'han definit les variables name i surname, amb els valors "Nom" i "Cognom".
  4. En aquest punt, el depurador permet controlar l'execució del programa manualment. Amb el botó Step over s'executa la instrucció següent. Es pot observar que s'ha creat la variable repeticions amb el valor 100.
  5. A continuació, s'executa un bucle for, que repeteix el codi tantes vegades com indica repeticions (100).
    • En la pestanya Console es poden consultar els missatges que el programa imprimeix amb System.out.print.
    • En la pestanya Debugger s'observa que s'ha definit la variable i, que controla quantes vegades es repeteix el bucle.
  6. Per últim, es mostra com continuar o parar l'execució del programa.
    • El botó Resume execution continua l'execució del programa fins que troba un altre Breakpoint.
    • El botó Stop execution deté l'execució del programa.
📌 Aquest document pot quedar desactualitzat després d’imprimir-lo. Pots consultar la versió més recent a la pàgina web.
🌿 Abans d’imprimir aquest document, considera si és realment necessari. Redueix el consum de paper i ajuda a protegir el nostre entorn.