Come si chiama il processo di prendere una parte di una funzione e di farne una funzione individuale?

8

So che c'era un termine tecnico per questo. Non riesco a ricordare cosa fosse.

Se il titolo ha bisogno di chiarimenti, ecco cosa intendo; Se questo è il vecchio codice:

Result foobar(Param1,Param2,Param3) {
  code that does abc
  code that does xyz
  code that does asdf
  more code that does something
}

e è stato modificato in:

SomeResult do_xyz(SomeParams) {
  code that does xyz
}
Result foobar() {
  code that does abc
  do_xyz(args);
  code that does asdf
  more code that does something
}
    
posta bitmask 02.07.2012 - 21:16
fonte

2 risposte

21

Il termine tecnico per questo è Metodo di estrazione

Vedi link

Turn the fragment into a method whose name explains the purpose of the method.

void printOwing() {
    printBanner();

    //print details
    System.out.println ("name:    " + _name);
    System.out.println ("amount    " + getOutstanding());
}

                                                                                                         http://www.refactoring.com/catalog/arrow.gif

void printOwing() {
    printBanner();
    printDetails(getOutstanding());
}

void printDetails (double outstanding) {
    System.out.println ("name:    " + _name);
    System.out.println ("amount    " + outstanding);
}
    
risposta data 02.07.2012 - 21:18
fonte
8

Il processo stesso è chiamato Refactoring il codice e il metodo è chiamato Extract Method , ed è una buona corrispondenza per applicare SRP ( principio di responsabilità unica) al codice.

risposta data 02.07.2012 - 22:01
fonte

Leggi altre domande sui tag