Eliminare il codice duplicato: i refactoring


E' arrivato il momento di     raccogliere il fattore comune     del codice duplicato e unificarlo in un solo punto eliminando cosi le duplicazioni. Annoto alcune indicazioni da  Working Effectively with legacy code di M.C.Feathers . 

 

 

 

Quando la duplicazione riguarda una porzione di codice o una parte di una espressione dentro un metodo si applica il RefactoringExtractMethod

      Quando la parte duplicata è una espressione, ad esempio una espressione condizionale applica il RefactoringDecomposeConditional .  

            Quando la parte duplicata è un metodo intero e relative variabili di classe si applica il RefactoringExtractSuperclass.

                  Quando la duplicazione riguarda buona parte di un metodo a meno di piccole differenze, si applica il RefactoringFormTemplateMethod.

                        Quando il codice duplicato è un if o uno switch ripetuto uguale in diverse parti considera   RefactoringReplaceConditionalWithPolymorphism  e IfNonEObjectOriented .






Tags :   |  |  |  |

 

Print | posted @ Tuesday, August 12, 2008 11:32 PM

Comments have been closed on this topic.