¿Cómo agrego líneas de comentarios a una regla de negocios autorizada en lenguaje de acción comercial

StackOverflow https://stackoverflow.com/questions/8976023

  •  12-11-2019
  •  | 
  •  

Pregunta

Estoy usando JRULES a las reglas de negocios de autor.Quiero agregar comentarios a las reglas como se muestra en el siguiente ejemplo a continuación.Me doy cuenta de que hay una sección de documentación para la regla, pero eso no es lo que necesito

// comments needed here

definitions 
set 'an existing customer' to a customer
where the category of 'an existing customer' is "gold"

if 
the city of 'an existing customer' is "London"

then
give a 5% discount to 'an existing customer'

else
// and more comments needed here
give a 10% discount to 'an existing customer'

Claramente, usando el Double C ++ y C # Double Delwardslash // no funcionará en el ejemplo anterior, por lo que mi pregunta es cómo se agregan los comentarios a las reglas en BAL.

¿Fue útil?

Solución

Lamentablemente no puede agregar comentarios en las reglas.Las reglas se supone que deben ser autoexplicativas si la verbalización es buena.

Pero puede usar la función de documentación, si desea documentar la justificación del negocio para cada una de las reglas.

Otros consejos

Hay una solución simple:

Puede crear 2 métodos virtuales estáticos en su BOM: uno comentando las condiciones y una para las acciones.

en el caso de las condiciones:

  • Crear un método estático que toma una cadena de parámetros y devuelva un booleano
  • verbalizarlo así "// {0}" (sin cotizaciones)
  • en el B2X, haz que devuelva Verdadero
  • Luego, puedes comentar una condición con // "Your_Condition" y ...

    en el ejemplo anterior:

    if 
    the city of 'an existing customer' is "London" and
    // "blablabla" and
    the age of 'an existing customer' is greater than 18
    
    then ...
    

    Dado que el método devuelve verdadero, no afectará la prueba.Tiene que estar rodeado de "y", no "o".

    en el caso de las acciones:

    • Crear un método estático que toma una cadena de parámetros y devuelva el vacío
    • verbalizarlo así "// {0}" (sin cotizaciones)
    • en el B2X, agregue "retorno";
    • Luego, puedes comentar una acción con // "Your_Action";

      en el ejemplo anterior:

      else
      // "and more comments needed here" ;
      give a 10% discount to 'an existing customer' ;
      

Puedes hacerlo, pero significa mucha personalización. Así que olvídalo
Y sería factible solo a través de la interfaz del navegador, no Eclipse.
Solo porque estarás haciendo trampa.

Cómo hacerlo:

Listo? ... constante? ...
¡Necesitas recrear tu propia interfaz web RTS (TeamServer)! Si suena como un gran esfuerzo, deje de leer :)
Uso de la API, puede recuperar las reglas de RTS (Base de datos) que hay (como mención en la respuesta de Tito) una documentación adjunta a cualquier regla.
Para que pueda manejar la visualización de su regla y agregar el comentario en consecuencia.
Por supuesto, debe encontrar una manera de posicionar el comentario correctamente en la regla. El número de línea podría hacer el truco.
Esto es para la pantalla ...
Diez cuando guarde la regla (haciendo clic en un botón encantador que habrá codificado para hacer el guardado real), debe eliminar los comentarios (y saber dónde están para la próxima vez que desee mostrar la regla) y guardar la regla) Cuerpo de reglas y la documentación adjunta.

suena loco? Un cliente lo hizo y yo estaba trabajando en esto :) Pero no modificamos el cuerpo de la regla. Casi todo menos el cuerpo de la regla.

Esto llevará a los meses, entrendemente a la cantidad de personas que trabajan en él, me temo.

Para resumir: ¿Puedes hacerlo, sí!
¿La implementación vale la pena el esfuerzo? De ninguna manera !!!

¿Esta función estará disponible en la próxima versión? ¡NO! Como Tito mencionó que una regla debería ser autorexplicatoria.

Lo siento: (

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top