Salta el contingut
 

Entorns de desenvolupament

Autor: Joan Puigcerver Ibáñez

Correu electrònic: j.puigcerveribanez@edu.gva.es

Llicència: CC BY-NC-SA 4.0

(Reconeixement - NoComercial - CompartirIgual) 🅭

Entorns desenvolupament

Un Entorn de Desenvolupament Integrat o Integrated Development Environment (IDE):

Cita

É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” (Casat, 2012:46).

En resum, és una aplicació informàtica que facilita la tasca de codificació i desenvolupament de programari.

Els elements bàsics que conté són:

  • Un editor de text: Per escriure i modificar el codi font.

    Els IDEs moderns tenen eines que assisteixen aquesta edició:

    • Ressaltar la sintaxi (syntax highlight)
    • Auto-completat de codi (auto-completion)
    • Macros (En IntelliJ, Live Templates).
  • Un compilador o intèrpret: Per traduir i executar el codi font i generar executables.

  • Un depurador (debugger): Eina que ajuda a trobar errors lògics en el codi.

Les seues característiques principals són:

  • Poden ser per a un o més llenguatges de programació.
  • Ajuden a la visualització del codi font.
  • Permet moure's ràpidament entre els fitxers de l'aplicació.

Utilitzar IDE, per tant, suposa una ajuda a la programació. No obstant això, generen dependència, ja que el desenvolupador s'ha d'acostumar al seu funcionament. A més a més, consumeixen més recursos i alguns són de pagament.

Avui dia hi ha editors de text que realitzen aquestes funcions bàsiques (Sublime Text, Visual Studio Code, Notepad++, Textpad, KLite…). Tots ells identifiquen i ressalten la sintaxi i alguns permeten la instal·lació de extensions per incorporar eines i que semblen IDEs.

Per què utilitzar un IDE?

No obstant les funcionalitats bàsiques, els IDEs moderns ofereixen més funcionalitats.

Una de les més importants és, l'auto-completat de codi: cada vegada que comencem a escriure una paraula reservada apareix una ajuda contextual que indica les opcions més comuns per completar-ho automàticament.

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

A més a més, ofereixen eines per refactoritzar, per executar depurant i més opcions que ajuden a la programació i que fan més curt el cicle de vida del programari.

Els IDEs són altament configurables. Cada desenvolupador pot configurar-lo com més li agrade: amb més o menys barres d'eines, amb dreceres de teclat, amb ordres personalitzades, amb diferents ubicacions físiques dels diferents panells, etc. Però també permet configurar la depuració i la compilació de projectes, convertint-se així en una eina còmoda i útil, que facilita i agilitza el desenvolupament de programari.

Finalment, els IDEs s'integren fàcilment amb eines de control de versions, que permet realitzar el desenvolupament d'una manera descentralitzada, distribuïda i col·laborativa. D'aquesta manera, diversos desenvolupadors poden treballar sobre el mateix projecte, tal com passa al programari lliure. El control de versions es duu a terme creant repositoris on cada desenvolupador pot publicar els canvis que va realitzant sobre el codi, i es poden crear diferents branques per realitzar diferents tasques a l'hora.

A l'hora de triar un IDE hem de tenir en compte diversos factors:

  • Sistema operatiu: Avui dia la gran majoria d'IDEs són multiplataforma, però hi ha alguns que sols es poden instal·lar en alguna plataforma en concret.
  • Llenguatge de programació: un IDE pot suportar un o diversos llenguatges de programació, però pot ser es comporta millor en un que amb altres.
  • Framework: El IDE que vulguem utilitzar hauria de suportar el framework que estem gastant.
  • Eines: també es tria un IDE per l'oferta de ferramentes que té. No tots els IDE tenen les mateixes funcions.
  • Llicència: No tots els IDEs són gratuïts i no tots els gratuïts permeten desenvolupar software en qualsevol condició.

Debugger

El depurador o debugger és una ferramenta que permet visualitzar el flux d'execució d'un programa per comprovar el correcte funcionament d'aquest i detectar possibles errors lògics (aquells errors que són sintàcticament correctes, però el codi no fa el que s'espera d'ell). Permet observar les variables definides i el valor que prenen en cada moment.

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

Cada IDE té una interfície diferent per realitzar la depuració del codi, però hi ha uns elements bàsics que tots els depuradors tenen:

  • Breakpoint: Punt de parada. El debugger para l'execució del programa en la línia seleccionada i ens permet veure el valor de les variables definides en aquest moment concret.
  • Resume execution: Continua l'execució del programa normalment, fins que troba un altre breakpoint o acaba.
  • Step over: Executa la següent instrucció. Si és un mètode, executa tot el contingut d'aquest i continua.
  • Step into: Executa la següent instrucció. Si és un mètode, continua l'execució des de dins del mètode.
  • Step out: Executa la següent instrucció. Si és un mètode, continua l'execució des de fora del mètode que s'està executant actualment.

Botons de depuració

Figura 1. Botons de depuració

Documentació

Per a una explicació més detallada, cal consultar la documentació oficial de l'IDE.

Podeu trobar el d'IntelliJ Idea ací.

Exemple

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ó

L'objectiu d'aquest exemple és mostrar el funcionament bàsic del depurador.

  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. Podeu clicar 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ó mitjançant el botó Debug. També es pot fer mitjançant el menú contextual que apareix si li dones al botó dret en el codi font.
  3. El programa comença a executar-se i es para en la línia 7. Podem observar en la pestanya Debugger com s'han definit les variables name i surname i han pres els valors "Nom" i "Cognom" respectivament.
  4. En aquest punt, el depurador ens permet controlar l'execució del programa manualment. Mitjançant el botó Step over s'ha indicat que volem executar la següent instrucció. Es pot observar que s'ha creat la variable repeticions amb valor 100.
  5. A continuació, es mostra l'execució d'un bucle for, que repeteix el codi tantes vegades com el valor en repeticions (100).
    • En la pestanya Console, es pot consultar els missatges que s'imprimeixen des del programa mitjançant la instrucció System.out.print.
    • En la pestanya Debugger, es pot observar que s'ha definit la variable i, que s'utilitza per controlar quantes vegades es repeteix el bucle for.
  6. Per últim, es mostra com continuar o parar l'execució del programa.
    • El botó Resume execution permet continuar l'execució del programa fins que trobe un altre Breakpoint.
    • El botó Stop execution permet detindre l'execució del programa.

Comentaris