Recientemente he estado ayudando a un cliente a mejorar el desempeño de una aplicación crítica hecha con Delphi, que procesa miles de transacciones por hora. Haciendo algunos cambios al código, me topé con la necesidad de evaluar el costo de hacer Trim() de algunas variables.
En concreto, me topé con unas 50 o 60 construcciones que tenían una estructura como esta:
if Variable <> '' then begin VariableA := VariableA + X; VariableV := VariableB + Trim(Variable); end;
Dado que de todas maneras había que re-escribir el código, pensé que era una buena oportunidad para aplicar el principio DRY y que a su vez esto permitiría tener una rutina más fácil de leer.
Por tanto, pensé en hacer una rutina genérica que recibiera las variables (el caso real implicaba cambios más profundos, pero para fines didácticos acá asumiremos que la estructura básica se mantendría):
La nueva rutina sería similar a esta:
procedure AsignaValor(Variable, X: string; var VariableA, VariableB: string); begin if Variable <> '' then begin VariableA := VariableA + X; //se ha quitado la llamada a trim VariableV := VariableB + Variable; end; end;
De esta manera, la vieja rutina luciría así: Continuar leyendo «El costo de Trim()»