El uso de variables $1, $2 y $n en su código no sólo hace que el código sea menos legible, sino que también puede aumentar la confusión, ya que al cerebro humano le puede resultar difícil recordar a qué corresponden estas variables. La solución es crear una variable con un nombre comprensible y asignarle el valor de $1, $2, o $n.
4D v18 R5 tiene buenas noticias, ahora puede nombrar sus parámetros al declarar
- un método del proyecto,
- un trigger
- un método de base de datos
- un método de formulario
- un constructor de una clase
- una función de una clase.
¡Veamos cómo!
En 4D v18 R4, le mostramos una nueva sintaxis para declarar sus variables:
var $name : Text
var $birthdate : Date
var $file : 4D.File
La nueva sintaxis para métodos y funciones es muy similar.
Nueva declaración para las clases
Después del nombre de la función, añada sus diferentes parámetros de entrada separados por un punto y coma entre paréntesis:
Class Constructor($firstname: Text; $lastname: Text; $birthdate: Date)
This .lastName:=$lastname
This .firstName:=$firstname
This .birthdate:=$birthdate
Function setAdress ($streetNumber: Text; $streetName : Text; $city : Text)
This .streetNumber:=$streetNumber
This .streetName:=$streetName
This .city:=$city
Para el parámetro de salida, basta con añadir el símbolo «->» y, a continuación, el nombre y el tipo como parámetro de entrada.
Function getFullname -> $fullname: Text
$fullname :=This.firstName+""+Upper(This.lastName)
Function sendMessage ($text: Text) -> $message: Text
$message :="@"+This.firstname+": "+$text
Nueva declaración de métodos
El mismo principio se aplica a los métodos con una nueva palabra clave: #DECLARE.
- Un ejemplo con un método de proyecto «highlightRow»
#DECLARE($listboxName: Text; $rowNum: Integer) )
LISTBOX SELECT ROW (*; $listboxName; $rowNum
- Un ejemplo con el método On Web Authentication método de base de datos:
#DECLARE($url: Text; $header: Text; \
$BrowserIP : Text; $ServerIP: Text; \
$user : Text; $password: Text) \
->$RequestAccepted: Boolean
$entitySelection :=ds.User.query("login=:1"; $user)
// Check hash password...
// ...
Depurador
El nombre del parámetro también es visible en el panel de la cadena de llamadas del depurador. Aquí hay un ejemplo con una función de clase:

Bono
Si necesitas una razón adicional para utilizar la nueva sintaxis, echa un vistazo a la siguiente imagen. Sí. La declaración de la función se muestra en la barra de estado exactamente igual que en los comandos 4D.

Por el momento, no se pueden publicar comentarios en esta entrada.