Script

Voici quelques conseils / bonnes pratiques pour améliorer la gestion de vos scripts.

Variables de script VS variables Iterop

Un script peut accéder à toutes les variables du processus (grace à leur variableId), en revanche les variables que l’on défini dans un script js ne sont défini que localement pour le script. Ainsi, pour les différencier, nous conseillons de les nommer différemment :

  • Pour une variable interne javaScript nous préconisons le Camel Case précédé par le préfixe _
    • Exemple : _maVariable
  • Pour une variable de processus nous utilisons un nommage en deux parties : le nom de la tache de script en Camel Case et la dénomination de l’argument elle aussi en Camel Case .
    • Exemple : maTacheDeScript_maVariable

Description / Annotation

Il ne s’agit pas d’expliquer ligne par ligne ce que fait le code, loin de là. Mais dans certains cas un peu complexes, un petit commentaire Inline s’avère parfois utile.

Mise en garde

Ni trop, ni pas assez. Si un script est difficile à comprendre c’est surement qu’il pourrait  être simplifié ou que les variables ne sont pas assez claires

Pour que votre code soit le plus lisible possible, retenez et appliquez les points suivants :

  • Respectez les règles de nommenclature et de structure
  • Un code structuré et clair n’a pas besoin de commentaires ou très peu
  • Le commentaire doit être limité aux éléments difficiles à comprendre
  • Le commentaire ne doit pas décrire / expliquer le code au niveau technique

Mettre un point d’arrêt dans un script

Il est possible de mettre une sorte de point d’arrêt dans un script. En réalité cela génèrera une erreur Iterop sur Iterop Play, mais la description de l’erreur renverra ce que vous souhaitez : vous pouvez ainsi consulter le contenu d’une variable au milieu d’un script.

var _content = JSON.parse(start_variableComposee)
throw JSON.stringify(_content[0])

var _content[0].value = ....

Ce script met un point d’arrêt en ligne 2 et renvoie le contenu de la première ligne de la variable composée remplie dans le start.

Mise en garde

Tout ce qui a lieu avant le throw (hors execution.setVariable) est effectivement executé : Donc si vous ajoutez par exemple une ligne dans un référentiel métier : la ligne sera ajoutée même si le script est arrêté.

Attention

Il faudra penser à retirer ce point d’arrêt avant de mettre le processus en production.

Manipuler les listes Iterop dans les scripts

Les listes Iterop sont en réalité stockées sous forme de chaines de caractères en séparant les éléments par des “##”

"element 1##element 2##element 3"

Puisqu’il est plus confortable de travailler différents éléments sous forme de liste js qu’en chaîne de caractère, voici comment passer de l’un à l’autre :

// Pour transformer une liste Iterop en liste js
var _listeJs = start_listeIterop.split("##"); 

//Pour transformer une liste JS en liste Iterop
var _listeIterop = _listeJs .join("##");

Par exemple pour ajouter une sélection à une variable liste :

// start_liste = "element 1##element 2##element 3"
var _listeDesElement = start_liste.split("##"); //[element 1;element 2;element 3]
_listeDesElement.push("element4");//[element 1;element 2;element 3;element 4]
var _listeSousFromatIterop = _listeDesElement.join("##");"element 1##element 2##element 3##element 4"
Updated on 30 mai 2022

Was this article helpful?

Related Articles

Need Support?
Can't find the answer you're looking for?
Contact Support