Tout sur TrainController™

Forum de support et d'entraide consacré à TrainController™ logiciel d'exploitation d'un réseau modèle de trains.
 
PortailPortail  AccueilAccueil  GalerieGalerie  RechercherRechercher  S'enregistrerS'enregistrer  Connexion  

 

 Bonnes pratiques pour la gestion des variables

Aller en bas 
AuteurMessage
DeepPurple

DeepPurple

Nombre de messages : 114
TrainController : Gold V9 B2 FR
Localisation : Un peu plus à l'ouest
Emploi : Président honoraire de la CAChALO
Loisirs : Membre de l'AMFB
Date d'inscription : 15/09/2018

Bonnes pratiques pour la gestion des variables Empty
MessageSujet: Bonnes pratiques pour la gestion des variables   Bonnes pratiques pour la gestion des variables EmptySam 11 Juil 2020 - 17:42

Toqué de génie logiciel depuis ma tendre enfance, je cherche à maîtriser le chaos qui s'instille inéluctablement dans l'automatisation du réseau, en TrainController comme en tout langage informatique. TrainController prévoit quelques mécanismes qui facilitent la gestion et la documentation des objets, variables et macros qui ont tendance à se multiplier comme des lapins. Comment utilisez-vous ces outils ?

Pour ma part :

  • Je tente de maîtriser la portée des variables, et d'éviter la prolifération des variables globales au profit des variables à portée limitée (variables privées, de canton, de train).
  • Je veille à respecter quelques conventions pour nommer les variables.

    • Variables globales : G.application.variable G.Autotrain.Demandé
    • Variables privées : P.variable P.CantonCourant
    • Variables propres à un canton : C.variable C.LongueurCanton
    • Variables propres à un train : T.variable T.LongueurTrain
    • Variables locales : je les évite, car elles ne sont pas visibles dans l'explorateur d'objet, ce qui rend leur gestion difficile


  • Je crée et gère les variables propres à un canton

    • Soit dans un indicateur propre au canton
    • Soit dans un bouton-poussoir attaché au canton; cette méthode est pratique car un bouton-poussoir peut être invoqué depuis une liste d'opérations, comme une macro, alors que les indicateurs ne peuvent être déclenchés que via leur déclencheur.


  • Pour passer des paramètres à une macro, j'évite les variables globales au profit de variables privées ou de variables propres à l'objet qui invoque la macro.

Inconvénients :

  • Le TCO est vite encombré de boutons-poussoirs liés aux cantons. On peut les cacher en dehors du mode édition.
  • On ne peut récupérer que les variables liées aux objets du contexte courant. Dans un canton par exemple, je ne peux pas utiliser une variable liée à un autre canton (sauf à passer par une variable globale de transfert).

Avez-vous de votre côté développé des bonnes pratiques pour faciliter la gestion de vos macros et listes d'opérations ?

Connaissez-vous de meilleures pratiques ?

Merci de vos conseils.
Revenir en haut Aller en bas
http://pdf.cachalo.be
Geo69



Nombre de messages : 4912
Localisation : Ouest Lyonnais
Emploi : Retraité
Loisirs : VAE / Moto et ... Trains
Date d'inscription : 21/01/2012

Bonnes pratiques pour la gestion des variables Empty
MessageSujet: Re: Bonnes pratiques pour la gestion des variables   Bonnes pratiques pour la gestion des variables EmptySam 18 Juil 2020 - 19:30

Bonjour,

Tes questions "organisationnelles" sont surement intéressantes mais j'avoue que je ne me les suis pas posées ...  Embarassed
Quelques éléments de réponses (ou de non réponse) par rapport à "mes pratiques" :

DeepPurple a écrit:
... Je tente de maîtriser la portée des variables...
Je n'ai utilisé que 3 variables (mais avec efficacité  Wink )  pour la gestion de mon pont roulant. Une de portée "globale" et deux de porté "privée" mais je ne sais plus pourquoi !...  Embarassed

DeepPurple a écrit:
...Le TCO est vite encombré de boutons-poussoirs liés aux cantons. ...
Je me suis crée un TCO supplémentaire que j'ai baptisé "Contrôles" ou je mets tous les objets (BP, indicateurs, signaleurs etc...) qui servent au fonctionnement mais que je n'ai pas besoin de manipuler ...  Smile

DeepPurple a écrit:
... On ne peut récupérer que les variables liées aux objets du contexte courant. Dans un canton par exemple, je ne peux pas utiliser une variable liée à un autre canton (sauf à passer par une variable globale de transfert)...
Quel est le problème d'avoir une variable de portée globale que l'on peut utiliser partout ? J'avoue ne pas avoir les idées très claires sur les "portées" des variables par manque d'entraînement ...  Laughing

A+
Georges
Revenir en haut Aller en bas
DeepPurple

DeepPurple

Nombre de messages : 114
TrainController : Gold V9 B2 FR
Localisation : Un peu plus à l'ouest
Emploi : Président honoraire de la CAChALO
Loisirs : Membre de l'AMFB
Date d'inscription : 15/09/2018

Bonnes pratiques pour la gestion des variables Empty
MessageSujet: Re: Bonnes pratiques pour la gestion des variables   Bonnes pratiques pour la gestion des variables EmptyMar 11 Aoû 2020 - 10:51

Bonjour,

Je me permets d'y revenir, après avoir expérimenté quelque peu. Pour la gestion de trains en empilement sur mes voies de garage, j'utilise quelques variables, pour garder en mémoire combien de trains sont déjà garés sur la voie, quelle est la longueur totale de ces trains etc. Je pourrais utiliser des variables globales, avec un set de variables pour chaque voie de garage. J’aurais ainsi des variables telles que G.VoieDeGarage1.Longueur, G.VoieDeGarage2.Longueur, G.VoieDeGarage3.Longueur etc. Si j'ai une quinzaine de voies de garage, cela fait vite beaucoup de variables globales. Une autre option est d'utiliser un variable de portée Canton telle que C.Garage.Longueur. TrainController crée alors automatiquement une instance de cette variable pour chaque canton du réseau.

Comment TrainController sait-il quelle instance d'une variable canton utiliser ?  TC utilise le canton du contexte courant.  Ainsi, dans les opérations d'un bouton-poussoir associé au canton "Triage voie 2", TC utilisera la longueur de ce canton "Triage voie 2". Idem pour les opérations d'un indicateur ou d'un signaleur de ce canton. Ou encore pour les paramètres d'un marqueur d'arrêt de ce canton.
Revenir en haut Aller en bas
http://pdf.cachalo.be
Contenu sponsorisé




Bonnes pratiques pour la gestion des variables Empty
MessageSujet: Re: Bonnes pratiques pour la gestion des variables   Bonnes pratiques pour la gestion des variables Empty

Revenir en haut Aller en bas
 
Bonnes pratiques pour la gestion des variables
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Tout sur TrainController™ :: RRTC :: Les Variables-
Sauter vers: