J'ai pris un exemple de correction de bug, mais on peut dire la même chose pour une évolution : "Tu appelles une méthode qui devait faire un certain calcul, elle le faisait bien mais maintenant le calcul doit être fait différemment..."
On modifie un code à transformation ISO : ISO fonctionnel, ISO bug...
"plus facilement maintenable" : On cherche a gagner en lisibilité, à éviter les redondances de codes inutiles... donc je suis d'accord avec toi, l'objectif est d'arriver à un code plus lisible et donc plus maintenable.
"et/ou plus efficace" : La j'ai du mal à imaginer que le code puisse devenir plus efficace sans remettre en cause le traitement et ça logique. Pour moi, ce n'est plus du simple refactoring (sauf peut-être à passer par une variable locale au lieu d'appeler 50 fois la même fonction qui retournera toujours le même résultat.
"et/ou plus logique" : Ca veut dire que tu changes la logique de ton code (donc tu changes tes algo). Pour moi, ce n'est plus du refactoring.