Sintaxis fácil de usar para las funciones y métodos de las clases

Traducido automáticamente de Deepl

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.

blank

Vanessa Talbot
• Propietario de producto - Vanessa Talbot llegó al equipo de 4D Program en junio de 2014. Como Propietario de producto, está a cargo de escribir las historias de los usuarios y luego traducirlas a especificaciones funcionales. Su papel es también asegurarse de que la implementación de la funcionalidad entregada cumpla con las necesidades del cliente. Desde su llegada, ha trabajado en la definición de funcionalidades claves en 4D. Ha trabajado en la mayoría de las nuevas funcionalidades de multi hilo apropiativo y también en un tema muy complejo: la nueva arquitectura para la aplicación engined. Vanessa es licenciada por Telecom Saint-Etienne. Comenzó su carrera en el Instituto de Investigación Criminal como desarrolladora del departamento audiovisual. También ha trabajado en medios de comunicación y en el ámbito médico como experta en soporte técnico, producción y documentación de nuevas funcionalidades.