È semplicemente la pulizia o il refactoring?

1

Sto lavorando su un progetto in C ++ e ho un grosso file CPP con diverse funzioni al suo interno. In realtà sto lavorando per suddividere tutta questa funzione in file cpp più piccoli per renderlo più leggibile. Mi stavo chiedendo se questo processo avesse effettivamente un nome? Stavo pensando a "Refactoring", ma questo processo sembra più complicato del mio "piccolo" lavoro.

Questo è un semplice esempio di ciò che sto facendo:

Proveniente da FileA.cpp:

extern "C"
{
    namespace foo
    {
        functionA()
        {
            //Some Code
        }
        functionB()
        {
            //Some Code
        }
        .
        .
        .
        functionZ()
        {
             // Some Code
        }
    }
}

A FileB.cpp

extern "C"
{
    namespace foo
    {
        functionA()
        {
            // Some Code
        }
        functionB()
        {
            // Some Code
        }
    }
}

FileC.cpp

extern "C"
{
    namespace foo
    {
        functionC()
        {
            // Some Code
        }
        functionD()
        {
            // Some Code
        }
    }
}

ecc.

    
posta Freddykong 24.04.2017 - 16:46
fonte

2 risposte

2

Alcune persone potrebbero usare il termine "refactoring" per quello che hai descritto, tuttavia, Martin Fowler, che ha inventato il termine, ha pubblicato un catalogo dei tipici refactoring. La suddivisione di un grande file CPP in file più piccoli, distribuendo le classi e le funzioni in file diversi (senza modificare alcuna funzione), non si trova in quel catalogo.

I refactoring descritti da Fowler sono le pulizie logiche , dove, ad esempio, le funzioni con più di una responsabilità vengono rielaborate e suddivise in funzioni con una sola responsabilità. Ciò si oppone alle pulizie fisiche , in cui le stesse funzioni rimangono le stesse, solo il file CPP (il "luogo fisico") in cui si trova il codice sorgente della funzione cambia. Quindi se stai facendo il primo, è chiaramente refactoring, ma se è il secondo, allora penso che il termine "pulizia" si adatti meglio.

    
risposta data 24.04.2017 - 17:18
fonte
4

Sì, il termine "refactoring" si applica qui. Vedi: link

  • Techniques for breaking code apart into more logical pieces ...
    • Extract Method, to turn part of a larger method into a new method. By breaking down code in smaller pieces, it is more easily understandable. This is also applicable to functions.

Aggiorna

Ora che la domanda è stata aggiornata e chiarita, concordo con Doc Brown e dico che "pulito -up "è probabilmente un termine migliore per questa attività di" refactoring ".

    
risposta data 24.04.2017 - 16:53
fonte

Leggi altre domande sui tag