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í: Sigue leyendo

Si no has visitado esta bitácora en los últimos 2 días, te invito a que veas la nueva cara de jachguate.wordpress.com.


Rondando por la Internet encontré, -por casualidad- pues no es el tema que me ocupa por el momento, un artículo que creo que no tiene desperdicio para los desarrolladores de software independientes (ISV): 


