You are on page 1of 5

CFGS: DAM

CENTRE D’ESTUDIS ROCA

MÒDUL 05: ENTORNS DE DESENVOLUPAMENT


Professor: Laura Dominguez

ALUMNE:
http://www.ceroca.cat/
CURS: 1r
DATA LLIURAMENT:

UF2-NF2-PR3-Refactorització

RESULTATS D’APRENENTATGE:

2. Optimitza codi emprant les eines disponibles en l'entorn de desenvolupament

METODOLOGIA

Realització de la refacció sobre un programa de Java.

EQUIP I MATERIALS:

Ordenador amb connexió a internet.

TEMPORITZACIÓ:

Tres hores.

TIPOLOGIA :

Individual.

CRITERIS D’AVALUACIÓ:

2.1. Identifica els patrons de refacció més usuals.

2.2. Elabora les proves associades a la refacció.

2.3. Revisa el codi font utilitzant un analitzador de codi.

2.4. Identifica les possibilitats de configuració d'un analitzador de codi.

2.5. Aplica patrons de refacció amb les eines que proporciona l'entorn de desenvolupament.
UF2-NF2-PR3-Refactorització

ACTIVITATS:

1. Tenim un codi que calcula preus d’elements de papereria. Refactoritza’l:


public class FacturaPapereria {
public static void main(String[] args) {
System.out.println("*********************");
System.out.println("*******FACTURA*******");
System.out.println("*********************");
String nom = "Boli";
double preuSenseIVA= 2.45;
double calculIVA=preuSenseIVA * 0.21;
double preu = preuSenseIVA+calculIVA;
System.out.println(nom + " Valor: " + preu);
nom = "Llapis";
preuSenseIVA= 1.27;
calculIVA=preuSenseIVA * 0.21;
preu = preuSenseIVA+calculIVA;
System.out.println(nom + " Valor: " + preu);
nom= "Llibreta";
preuSenseIVA= 4.12;
calculIVA=preuSenseIVA * 0.21;
preu = preuSenseIVA+calculIVA;
System.out.println(nom + " Valor: " + preu);
}
}

2. Tenim un codi que calcula l’import de tres trucades segons la tarifa amb la que s’ha realitzat. Refactoritza el
codi de calculaImportFactura:
public class CalcularImportTrucada {
public static void main(String[] args) {
calculaImportFactura(23,28,17);
}

public static double calculaImportFactura(int minTarifa1, int minTarifa2, int minTarifa3) {

double importTarifa1 = minTarifa1 * 0.04;


System.out.println("El número de minuts de tarifa 1 és :" + minTarifa1);
System.out.println("El preu total per a tarifa 1 (sense IVA) és:" + importTarifa1
+ "€");

double importTarifa2 = minTarifa2 * 0.07;


System.out.println("El número de minuts de tarifa 2 és :" + minTarifa2);
System.out.println("El preu total per a tarifa 2 (sense IVA) és:" + importTarifa2
+ "€");

double importTarifa3 = minTarifa3 * 0.17;


System.out.println("El número de minuts de tarifa 3 és :" + minTarifa3);
System.out.println("El preu total per a tarifa 3 (sense IVA) és:" + importTarifa3
+ "€");

double importTotal = minTarifa1 * 0.04 + minTarifa2 * 0.07 + minTarifa3 * 0.17;


System.out.println("El preu total (sense IVA) és :" + importTotal + "€");

double importTotalIVA = importTotal + importTotal / 100 * 21;

-1 -
UF2-NF2-PR3-Refactorització
System.out.println("El preu total (amb IVA) és :" + importTotalIVA + "€");

return importTotalIVA;
}
}

3. Tenim un codi que mostra un array de dues dimensions ple de lletres aleatòries, el codi segueix el següent
algorisme: primer omplela taula amb lletres majúscules i la mostra. Passa la taula a minúscules i la torna a
mostrar. El codi no és òptim, fes que ho sigui.
import java.util.Random;

public class TaulaCaracters {

public static void main(String[] args) {

int fila = 5;
int columna = 5;
char[][] taula = new char[fila][columna];

omplirTaula(fila, columna, taula);

// mostrem la taula
System.out.println("Taula en majúscules");
for (int i = 0; i < fila; i++) {
for (int j = 0; j < columna; j++) {
System.out.print(taula[i][j] + " ");
}
System.out.println();
}

passarAMinuscules(fila, columna, taula);

System.out.println();
// mostrem la taula
System.out.println("Taula en minúscules");
for (int i = 0; i < fila; i++) {
for (int j = 0; j < columna; j++) {
System.out.print(taula[i][j] + " ");
}
System.out.println();
}

public static void omplirTaula(int fila, int columna, char[][] taula) {


for (int i = 0; i < fila; i++) {
for (int j = 0; j < columna; j++) {
Random r = new Random();
int num = r.nextInt(25) + 65;
taula[i][j] = (char) num;
}
}
}

public static void passarAMinuscules(int fila, int columna, char[][] taula) {


for (int i = 0; i < fila; i++) {
for (int j = 0; j < columna; j++) {
taula[i][j] = Character.toLowerCase(taula[i][j]);
}
-2 -
UF2-NF2-PR3-Refactorització
}
}
}

4. El següent codi guarda la informació de dos alumnes en un array bidimensional. Millora el codi per que sigui
més òptim i legible.
import java.util.Scanner;

public class DadesAlumne {


public static void main(String[] args) {
Scanner lector = new Scanner(System.in);
String[][] alumnes = new String[2][3];
System.out.println("Escriu el dni de l'alumne 1:");
alumnes[0][0] = lector.nextLine();
System.out.println("Escriu el nom de l'alumne 1:");
alumnes[0][1] = lector.nextLine();
System.out.println("Escriu el cognom de l'alumne 1:");
alumnes[0][2] = lector.nextLine();
System.out.println("Escriu el dni de l'alumne 2:");
alumnes[1][0] = lector.nextLine();
System.out.println("Escriu el nom de l'alumne 2:");
alumnes[1][1] = lector.nextLine();
System.out.println("Escriu el cognom de l'alumne 2:");
alumnes[1][2] = lector.nextLine();

for (int i = 0; i < alumnes.length; i++) {


System.out.println("Alumne: " + alumnes[i][1] + " " + alumnes[i][2]);
System.out.println("DNI: " + alumnes[i][0]);
}
lector.close();
}
}

-3 -
UF2-NF2-PR3-Refactorització

FORMAT DE LLIURAMENT:

Entrega la carpeta src del teu projecte amb els codis refactoritzats.

UF2-NF2-PR3.zip

AVALUACIÓ:

La puntuació s’enregistrarà segons la següent taula:

Capacitat 3 2 1 0
Realitza
Té algun error en Té molts errors en No fa la
C1 Factura Papereria correctament la
la refactorització la refactorització refactorització
refactorització

Realitza
Té algun error en Té molts errors en No fa la
C2 Factura Trucada correctament la
la refactorització la refactorització refactorització
refactorització

Realitza
Té algun error en Té molts errors en No fa la
C3 Taula de caràcters correctament la
la refactorització la refactorització refactorització
refactorització

Realitza
Té algun error en Té molts errors en No fa la
C4 Alumnes correctament la
la refactorització la refactorització refactorització
refactorització

La qualificació de l’activitat es calcularà a partir de la següent fórmula:

10 · (1 · 𝐶1 + 2 · 𝐶2 + 2 · 𝐶3 + 2 · 𝐶4 )
𝑄𝑃𝑅3 =
21

-1 -

You might also like