Groups | Search | Server Info | Keyboard shortcuts | Login | Register


Groups > fr.comp.lang.java > #1662

Re: JTree et représentation en mémoire.

From Yliur <yliur@free.fr>
Newsgroups fr.comp.lang.java
Subject Re: JTree et représentation en mémoire.
Date 2018-02-21 15:16 +0100
Organization Groupes francophones par TrigoFACILE
Message-ID <20180221151641.4478ebad@free.fr> (permalink)
References <5a8a2852$0$9271$426a74cc@news.free.fr> <20180219082912.16277640@free.fr> <5a8b002e$0$9273$426a74cc@news.free.fr> <20180219183001.6fbdcdb0@free.fr> <5a8cc26f$0$3842$426a74cc@news.free.fr>

Show all headers | View raw


Le 21 Feb 2018 00:50:56 GMT
jp <bloiiing.invalid@yahoo.com> a écrit :

> Je ne pense pas car l'objet Date fournit un long qui est un nombre de 
> millisecondes. Pour planter le logiciel, il faudrait créer 2 Chapter
> dans la même milliseconde. Ce sera impossible car le logiciel ne
> permettra pas de générer des Date lui-même. Les champs Date ne seront
> créés que par l'utilisateur à la main, donc impossible à faire
> planter le programme. D'autres champs Date seront créés par le
> logiciel dans le cas de la copie d'un chapitre en faisant un
> drag&drop en maintenant la touche Ctrl appuyée. Donc, dans ce cas
> aussi ce n'est pas possible.

"C'est bon, ça ne devrait pas se produire !" ;) .

Les cas impossibles arrivent beaucoup trop souvent....

Ici la date est effectivement stockée en millisecondes. Le code est
fragile parce qu'un jour le problème va apparaître et tu vas oublier
que cette limitation existe ; et comme tu ne fais pas de vérification
que l'id est unique ça va déclencher n'importe quoi, perdre des
données, ... Dans le meilleur des cas ça plantera rapidement avec une
erreur, mais ce n'est pas du tout sûr, selon ce que tu bases sur ces
ids. Par exemple si tu indexes les chapitre sur leur id et qu'ils sont
plusieurs avec le même id, tu vas ignorer un chapitre dans l'index (et
les traitements qui se basent dessus).

Donc si un jour tu crées des chapitres par un bout de programme, tu
risques des ennuis. Par exemple une fonctionnalité qui créerait un
certain nombre de chapitres, en se basant sur des données quelque part.

Mais pire, ça peut très bien être le cas avec un simple utilisateur :
l'appli prend un peu trop de temps pour faire quelque chose, il ne s'en
aperçoit pas, il clique sur "Créer un chapitre", ça ne marche pas parce
que l'interface est figée, il reclique, le traitement en cours
se termine, les deux clics vont être traités très rapidement par
l'appli, en retard, l'un à la suite de l'autre : deux chapitres créés
peut-être dans la même milliseconde. Est-ce que tu vois ?

Une manière plus fiable de créer des ids serait de détecter le plus
grand id associé à un chapitre et de gérer un compteur via une méthode
synchronisée par exemple. Ce n'est pas très difficile.

Ce n'est sans doute pas très urgent, mais note de te repencher sur la
question pas trop tard, sinon tu vas oublier et ton appli risque de
casser un peu aléatoirement.

Back to fr.comp.lang.java | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

JTree et représentation en mémoire. jp <bloiiing.invalid@yahoo.com> - 2018-02-19 01:28 +0000
  Re: JTree et représentation en mémoire. Yliur <yliur@free.fr> - 2018-02-19 08:29 +0100
    Re: JTree et représentation en mémoire. jp <bloiiing.invalid@yahoo.com> - 2018-02-19 16:49 +0000
      Re: JTree et représentation en mémoire. Yliur <yliur@free.fr> - 2018-02-19 18:30 +0100
        Re: JTree et représentation en mémoire. jp <bloiiing.invalid@yahoo.com> - 2018-02-21 00:50 +0000
          Re: JTree et représentation en mémoire. Yliur <yliur@free.fr> - 2018-02-21 15:16 +0100
            Re: JTree et représentation en mémoire. jp <bloiiing.invalid@yahoo.com> - 2018-02-22 04:10 +0000
              Re: JTree et représentation en mémoire. Yliur <yliur@free.fr> - 2018-02-22 10:05 +0100
                Re: JTree et représentation en mémoire. jp <bloiiing.invalid@yahoo.com> - 2018-02-24 08:01 +0000
                Re: JTree et représentation en mémoire. David Larochette <dlarochette0@gmail.com> - 2018-02-24 12:59 +0000
                Re: JTree et représentation en mémoire. jp <bloiiing.invalid@yahoo.com> - 2018-02-24 15:00 +0000
                Re: JTree et représentation en mémoire. Samuel DEVULDER <samuel-dot-devulder@laposte-dot-net.invalid> - 2018-02-24 16:19 +0100
                Re: JTree et représentation en mémoire. jp <bloiiing.invalid@yahoo.com> - 2018-02-25 11:16 +0000
                Re: JTree et représentation en mémoire. Samuel DEVULDER <samuel-dot-devulder@laposte-dot-net.invalid> - 2018-02-25 12:54 +0100
                Re: JTree et représentation en mémoire. jp <bloiiing.invalid@yahoo.com> - 2018-02-25 14:36 +0000
                Re: JTree et représentation en mémoire. Samuel DEVULDER <samuel-dot-devulder@laposte-dot-net.invalid> - 2018-02-26 00:55 +0100
                Re: JTree et représentation en mémoire. Samuel DEVULDER <samuel-dot-devulder@laposte-dot-net.invalid> - 2018-02-26 08:14 +0100
                Re: JTree et représentation en mémoire. jp <bloiiing.invalid@yahoo.com> - 2018-02-26 10:41 +0000
          Re: JTree et représentation en mémoire. Samuel DEVULDER <samuel-dot-devulder@laposte-dot-net.invalid> - 2018-02-21 23:23 +0100
            Re: JTree et représentation en mémoire. jp <bloiiing.invalid@yahoo.com> - 2018-02-22 04:16 +0000
              Re: JTree et représentation en mémoire. Yliur <yliur@free.fr> - 2018-02-22 09:59 +0100
              Re: JTree et représentation en mémoire. Samuel DEVULDER <samuel-dot-devulder@laposte-dot-net.invalid> - 2018-02-22 10:12 +0100
            Re: JTree et représentation en mémoire. jp <bloiiing.invalid@yahoo.com> - 2018-02-24 07:57 +0000
      Re: JTree et représentation en mémoire. Samuel DEVULDER <samuel-dot-devulder@laposte-dot-net.invalid> - 2018-02-19 19:38 +0100
        Re: JTree et représentation en mémoire. jp <bloiiing.invalid@yahoo.com> - 2018-02-21 00:52 +0000

csiph-web