Ver Mensaje Individual
  #21  
Antiguo 10-12-2015
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Reputación: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Cita:
Empezado por AgustinOrtu Ver Mensaje
1. Declarar todas las variables arriba dentro de la clausula var. No le encuentro ninguna ventaja, no me vengan con que "es mas ordenado", yo creo que mas bien al contrario, es un caos: Ya que tenes que ir hasta arriba a declarar la variable...
¿Qué tan "arriba" tendrías que ir?

Cita:
Empezado por AgustinOrtu Ver Mensaje
2. La sintaxis lambda creo que apesta: tener que escribir
Código Delphi [-]
  TThread.Queue(NIL, procedure
  var
   X, B: Integer;
  begin

  end);
Es pura "ceremonia" y realmente va en contra del dogma de Pascal de "codigo claro, conciso y legible".
Hay que tener cuidado con los dogmas de cualquier tipo, y no confundirlos con las recomendaciones y buenas prácticas.

Los métodos anónimos, que son una especie de rutinas contextualizadas, forman parte de esos pequeños pero importantes avances que ha tenido la programación. Donde quiera que una función de retrollamada —callback— necesitaba llamarse pasándole varios parámetros dados previamente por el instalador de la misma, a menudo aplicando enrevesados moldes de tipo sobre ellos, ahora puede emplearse un procedimiento sencillo como el de tu ejemplo, reduciendo en buena medida la complejidad del código y volviéndolo, por cierto, más «claro, conciso y legible». Lo copio y pego con unos pequeños retoques:
Código Delphi [-]
  TThread.Queue (Nil,
    Procedure
    Var
      X, B :Integer;
    Begin
      //...
    End);

Un cordial saludo.

Al González.
Responder Con Cita