IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Delphi Discussion :

Variables globales ou non ?


Sujet :

Langage Delphi

  1. #1
    Membre extrêmement actif Avatar de Cazaux-Moutou-Philippe
    Inscrit en
    Mai 2005
    Messages
    674
    Détails du profil
    Informations personnelles :
    Âge : 74

    Informations forums :
    Inscription : Mai 2005
    Messages : 674
    Points : 171
    Points
    171
    Par défaut Variables globales ou non ?
    Bonjour

    je suis en mission dans une petite sté, le boss developpe un soft,

    dans son appli rien que dans le module main il y a 1200 variables globales

    j essai de lui faire comprendre que c est pas bon, mais je n ai pas assez d arguments, car pour lui IL VEUT ALLER VITE la simplicité c est de creer un var globale

    ne faudrait il pas mieux creer des classes qui engloblent une partie de ces variables

    Quels arguments pour ou contre les var globales ??

    merci
    Philippe Cazaux-Moutou
    C#
    Delphi
    Windev

    Guadeloupe

    www.ancestrologie.net/fr

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 522
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 522
    Points : 25 052
    Points
    25 052
    Par défaut
    Bien sur, qu'il est plus propre d'ensapsuler données et traitements dans des objets ...

    Maintenant, j'ai eu un boss qui développait comme un porc, et rien n'a fait pour lui faire changer d'avis ...

    Comme c'est le boss, il connait son code, mais son appli ne sera jamais maintenable par quelqu'un d'autre ...
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 091
    Points : 41 064
    Points
    41 064
    Billets dans le blog
    62
    Par défaut
    il est resté coincé au COBOL ?

    tu peux toujours argumenté avec
    - maintenance plus facile (comme le souligne si bien ShaiLeTroll)
    - Taille du programme
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  4. #4
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Points : 3 266
    Points
    3 266
    Par défaut
    Bonjour,

    dans son appli rien que dans le module main il y a 1200 variables globales
    ... apparemment le mal est déjà fait : ça risque d'être un sacré casse-tête pour les manips de maintenance et lors des modifications ultérieures de l'appli ou encore lors de la recherche de bugs ! Et qui dit casse-tête dit perte de temps : l'arroseur arrosé !

    ne faudrait il pas mieux creer des classes qui engloblent une partie de ces variables
    ... exact mais il ne faut pas se limiter à encapsuler le maximum de variables uniquement dans les classes mais également dans chaque procédure ou fonction autonome.

    Pour ma part je préfère, chaque fois que possible, des routines qu'on appelle avec des paramètres plutôt que des routines qui utilisent ou agissent sur des variables globales et toutes les variables utilisées exclusivement par une routine y sont encapsulées en tant que variables locales.

    A+

    EDIT : posts croisés.
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 560
    Points : 576
    Points
    576
    Par défaut
    Bonjour,

    Vous pourriez peut être réaliser des classes regroupant un certain nombres de varibles ayant des points commun, et implémenter la sauvegarde de ces variable par la classe. Cela permettrait de simplifier les sauvegarde/chargement, en sauvegardant/chargeant par block les données dépendant les une des autres.
    en corolaire de ce choix, on trouve une maintenance simplifié, la possibilité de réutilisé un ensemble de variable dans d'autres application, la possibilité de sauvegarder en interne un ensemble de variable (on créer une variable de même type et l'on transfère les données). Cela peut être pratique pour une annulation. Sans conter qu'il est plus aisé de réutilisé les ensemble de variable dans une autre application (utilisation de la classe et non de chaque variable une à une). Il est aussi possible de prévoir des évènements de type OnChange, OnClear etc. pour tout une classe.

    Cela pourrait déjà être quelques arguments.

    De toute manière, les variables n'ont pas à être dans la fiche principale. Elles devrait être dans une unité, ou un Datamodule dédié.
    C'est beaucoup plus lisible.

Discussions similaires

  1. Réponses: 6
    Dernier message: 03/02/2010, 14h00
  2. Variable globale et publique non disponible ailleurs
    Par beegees dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 01/06/2009, 14h19
  3. variable globale de type non prédéfini à la compilation
    Par Discovery dans le forum Débuter
    Réponses: 8
    Dernier message: 01/04/2009, 19h05
  4. Variables d'un formulaire : globales ou non ?
    Par TOSCAN dans le forum Langage
    Réponses: 3
    Dernier message: 22/05/2008, 11h54
  5. Réponses: 7
    Dernier message: 15/11/2007, 14h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo