Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1535 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  post et pres condition

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

post et pres condition

n°306731
Lunatik3
Serial nounours
Posté le 11-02-2003 à 20:35:23  profilanswer
 

voila pour rien caché j'ai interro demain en prog et j'ai du mal a capter les post et pres condition. est ce kelk'un aurai la grande bonté de m'expliker un peu comment ça marche ce soir. svp. je suis un peu ds la merde.  
ou a la rigueur me dire ou je peu touver ça d'expliker en français. merci


Message édité par Lunatik3 le 11-02-2003 à 21:55:20
mood
Publicité
Posté le 11-02-2003 à 20:35:23  profilanswer
 

n°306733
darklord
You're welcome
Posté le 11-02-2003 à 20:38:27  profilanswer
 

ban :o


---------------
Just because you feel good does not make you right
n°306734
schnapsman​n
Zaford Beeblefect
Posté le 11-02-2003 à 20:38:33  profilanswer
 

Si tu veux de l'aide, la moindre des choses ça serait de détailler plus ce que tu ne comprends pas; je pensais connaitre assez bien le java mais je ne comprends pas de quoi tu parles.


---------------
From now on, you will speak only when spoken to, and the first and last words out of your filthy sewers will be "Sir!"
n°306776
bobuse
Posté le 11-02-2003 à 21:13:46  profilanswer
 

moi aussi, je veux bien essayer de répondre à ta question, mais là ... [:zebra33]

n°306777
Hermes le ​Messager
Breton Quiétiste
Posté le 11-02-2003 à 21:13:47  profilanswer
 


 
Je le connais, il est sympa... Soyez cool ;) Il est nouveau ici. :)
 
Au fait, Lunatik, une règle élémentaire chez nous : les "ça urge !!!" ça passe pas ici.  :D


Message édité par Hermes le Messager le 11-02-2003 à 21:17:42
n°306778
--greg--
Posté le 11-02-2003 à 21:14:55  profilanswer
 

[:blueflag] :o


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°306787
noldor
Rockn'roll
Posté le 11-02-2003 à 21:20:25  profilanswer
 

les préconditions, c'est le présupposé sur tes variables par exemple (qu elles soient pas NULL, que a>b, que sais je encore)
les posts, c est la même chose mais après ta fonction, tu dis ce qu elle est censée faire


---------------
http://runnerstats.net
n°306793
bobuse
Posté le 11-02-2003 à 21:24:46  profilanswer
 

ha ouais d'accord ...
elle revient de loin celle-là ;)

n°306796
bobuse
Posté le 11-02-2003 à 21:28:29  profilanswer
 

en fait, ça concerne les réseaux de pétri et Cie, ce genre de considération ...
ou encore les GDU (Graphe Def-Use) ...
que des trucs chiants quoi  :o

n°306816
schnapsman​n
Zaford Beeblefect
Posté le 11-02-2003 à 21:44:27  profilanswer
 

noldor a écrit :

les préconditions, c'est le présupposé sur tes variables par exemple (qu elles soient pas NULL, que a>b, que sais je encore)
les posts, c est la même chose mais après ta fonction, tu dis ce qu elle est censée faire


 
et moi qui cherchais un truc spécifique java :lol:  
 
 
n'empeche que ça manque toujours gravement de détails, ya pas marqué irma là


---------------
From now on, you will speak only when spoken to, and the first and last words out of your filthy sewers will be "Sir!"
mood
Publicité
Posté le 11-02-2003 à 21:44:27  profilanswer
 

n°306825
Lunatik3
Serial nounours
Posté le 11-02-2003 à 21:53:17  profilanswer
 

dsl pour le ça urge. merci hermes de ta tolerance( les autre aussi d'ailleur, parfois qd on ecrit un post on reflechie pas assez).  en faite ce ke je capte pas c un: deja comment on les declares si vs aviez un exemple se serais super cool en faite
j'ai du mal a voir comment c foutu
 
pour les post condtions ça doit un truc comme ça
 

Code :
  1. /**
  2. *@post truc > 0 // on explike la prés condition
  3. */
  4. public void machin(){
  5. // ma methode avec truc dedans
  6. }


 
je voudrai savoir k'est ce ki se passe qd ma post condition est fausse.
 
pour les pré conditions on utilise les assertion c ça?
 
on ecrit ça?

Code :
  1. /**
  2. *@pre truc > 0 // on explike la prés condition
  3. */


 
avant la methode?
 
a la fin de la methode on fait  
 

Code :
  1. public int maMethode(){
  2. //corps de la methode
  3. Assert truc > 0  :"message de la post-condition"
  4. }


 
on doit mettre obligatoirement des throw avec les post et prés conditions?
 
k'est ce ki ce passe qd truc < 0?
 
voila deja ça ki reste assez flou. je vois un peu le truc mais je le saisi pas enkor.

n°306826
kadreg
profil: Utilisateur
Posté le 11-02-2003 à 21:54:26  profilanswer
 

LunatiK3: question pour voir si tu as compris :  
 
On peut mettre une précondition sur un constructeur ?


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°306832
Lunatik3
Serial nounours
Posté le 11-02-2003 à 21:57:10  profilanswer
 

a vrai dire j'en ai aucune idées, je voix pas ce ki empecherai. et justement j'ai pas capter alors la je te repond un peu au feeling.

n°306882
schnapsman​n
Zaford Beeblefect
Posté le 11-02-2003 à 22:30:13  profilanswer
 

Les pre et post conditions comme tu les apelles sont parfois apellées assertions; dans le même genre on peut aussi raisonner avec la notion d'invariant dans un algorithme.
 
Ce sont des conditions qui doivent être absolument respectées à un moment fixé de n'importe quelle itération lors du déroulement d'un algorithme.
 
Il n'y a pas grand chose à comprendre en fait; les pre conditions d'une méthode forment l'ensemble des assertions nécéssaires (non forcément suffisantes) à son bon déroulement. Les post conditions forment l'ensemble des assertions nécéssairement vérifiées à la sortie de ta méthode.
 
Voila voila rien de bien intéréssant :sleep:


---------------
From now on, you will speak only when spoken to, and the first and last words out of your filthy sewers will be "Sir!"
n°306939
deltaden
Posté le 11-02-2003 à 22:45:05  profilanswer
 

Normalement, les pré conditions sont les conditions à remplir pour que ta méthode marche correctement, théoriquement tu n'es donc pas sensé les vérifier, mais bon c'est comme tu le sens et ca dépend des cas.
 
Les post conditions expliquent ce qui a été modifié par la méthode:
changement de l'état d'un objet, modification de telle ou telle variable, ca dépend un peu de la méthode.
 
En tout cas, c'est comme ca que je fais mes pré-post moi.


---------------
"La Terre est le berceau de l'humanité, mais on ne passe pas toute sa vie au berceau." - Konstantine Tsiolkovski
n°307052
Lunatik3
Serial nounours
Posté le 11-02-2003 à 23:03:06  profilanswer
 

mais alors si l'algorythme se trouve en contradiction avec les assertion k'est ce ki ce passe?
interressant ou pas c pas la question, je vais peu etre tomber la dessu en interro demain, alors..
 
les pre condition je pense en avoir compris l'interet. mais les post c plus vague. pour les post, si je comprend: on pose des assert et on dit ke tel truc doit etre comme ça et tel autre comme cei. du genre
 

Code :
  1. Assert truc > 0 : "message";
  2. Assert machin != 21 : autreMessage";


 
le message il est balancer qd l'asssertion n'est pas respecter c ça?
 
les post et pres condition agissent sur l'algorythme ou c juste pour expliker au programmeur  les conditions ?

n°307101
schnapsman​n
Zaford Beeblefect
Posté le 11-02-2003 à 23:17:34  profilanswer
 

Bon déjà fais moi playzyr, écris donc algorithme sans le 'y', ca fera moins désordre sur ta copie de demain  [:tinostar]  
 
Pour revenir à tes moutons, un invariant d'algorithme doit forcément être vérifié par définition. S'il existe au moins un cas ou il est mis en défaut cela contredit se définition.
 
 
Les preconditions définissent quelle situation initiale est requise pour le bon déroulement d'un algo.
Les "supposés" invariants permettent de vérifier que l'algo se déroule bien à chaque itération.
Les postconditions forment les domaines du possible après le déroulemnt de l'algo.
 
Bien réfléchir sur les pre/post conditions et invariants d'un algorithme peut permettre de démontrer qu'il fonctionne(mais c'est pas facile pour les nains formaticiens  [:boidleau]) .


Message édité par schnapsmann le 11-02-2003 à 23:18:25

---------------
From now on, you will speak only when spoken to, and the first and last words out of your filthy sewers will be "Sir!"
n°307118
Lunatik3
Serial nounours
Posté le 11-02-2003 à 23:27:21  profilanswer
 

dc les post et prés condition n'agissent pas sur le prog en lui meme. c ça?
pour ecrire un pre-condition on fait
 

Code :
  1. /**  
  2. *@pre truc > 0 // on explike la prés condition  
  3. */

 
c ça ?
 il ya pas d'autre truc a mettre?
 

n°307123
schnapsman​n
Zaford Beeblefect
Posté le 11-02-2003 à 23:30:25  profilanswer
 

LunatiK3 a écrit :

dc les post et prés condition n'agissent pas sur le prog en lui meme. c ça?
pour ecrire un pre-condition on fait
 

Code :
  1. /**  
  2. *@pre truc > 0 // on explike la prés condition  
  3. */

 
c ça ?
 il ya pas d'autre truc a mettre?
 
 


 
 
Oui, tu peux comprendre ça comme les prérequis.
 
En amont de l'apel de ta méthode, les pre conditions peuvent être vérifiées par le programme lui même dans le cas ou ce dernier doit être mongol-proof.


---------------
From now on, you will speak only when spoken to, and the first and last words out of your filthy sewers will be "Sir!"
n°307136
Lunatik3
Serial nounours
Posté le 11-02-2003 à 23:34:41  profilanswer
 

ok merci. j'espere ke j'ai bien capter le truc. je prie pour mon interro demain. merci beaucoup pour votre aide a tous. a+

n°307220
nraynaud
lol
Posté le 12-02-2003 à 01:44:36  profilanswer
 

SchnapsMann a écrit :


 
et moi qui cherchais un truc spécifique java :lol:  
 
 
n'empeche que ça manque toujours gravement de détails, ya pas marqué irma là  


 
Ca manque surtout de culture => "Conception et programmation orientées Objet" B. Meyer.
 

n°307222
nraynaud
lol
Posté le 12-02-2003 à 01:51:22  profilanswer
 

kadreg a écrit :

LunatiK3: question pour voir si tu as compris :  
 
On peut mettre une précondition sur un constructeur ?


 
Au hazard (pas tout à fait) : je mets une beigne à 80% des cas si "not null" n'est pas vérifié pour chaque argument du constructeur et à 30-40% des cas si la longueur des chaines passées n'est pas vérifiée comme étant > 0 ?
 
C'est vraiment passé en mot clef de javadoc @pre et @post ? je peux aussi faire @invariant et ça va générer les assertions comme il faut pour mon java -ea (toutes les post+invariant avant chaque return et pre à la première ligne de chaque méthode) ? ca serait hyper cool !!

n°307279
BifaceMcLe​OD
The HighGlandeur
Posté le 12-02-2003 à 10:02:40  profilanswer
 

Les tags @pre, @post et @invariant ne sont pas reconnus en standard par JavaDoc ou le compilateur Java. Par contre, rien ne t'empêche d'étendre JavaDoc avec des taglets afin qu'il les reconnaisse.
Mais cela ne permettra que d'augmenter la richesse d'expression de la documentation fabriquée par JavaDoc, pas du code généré par le compilateur Java. Il serait peut-être judicieux d'en faire la proposition à Sun (via une JSR), pour que Java se rapproche un peu d'Eiffel !  :jap:  :D

n°307285
nraynaud
lol
Posté le 12-02-2003 à 10:10:30  profilanswer
 

BifaceMcLeOD a écrit :

Les tags @pre, @post et @invariant ne sont pas reconnus en standard par JavaDoc ou le compilateur Java. Par contre, rien ne t'empêche d'étendre JavaDoc avec des taglets afin qu'il les reconnaisse.
Mais cela ne permettra que d'augmenter la richesse d'expression de la documentation fabriquée par JavaDoc, pas du code généré par le compilateur Java. Il serait peut-être judicieux d'en faire la proposition à Sun (via une JSR), pour que Java se rapproche un peu d'Eiffel !  :jap:  :D  


 
Concernant les doclets, on peut modifier le code avec ? car il faut générer des assert avant tous les return.
 
C'est un des avantages du système de modification de la syntaxe d'O'caml (camlp4), on peut traffiquer l'arbre syntaxique en live (ce qui serait très utile ici).
 
Depuis au moins 1996 des voix s'élèvent contre l'absence de contrats (et, dans un autre registre, de généricité) dans java.

n°307510
BifaceMcLe​OD
The HighGlandeur
Posté le 12-02-2003 à 14:49:50  profilanswer
 

nraynaud a écrit :


 
Concernant les doclets, on peut modifier le code avec ? car il faut générer des assert avant tous les return.


Relis mon post précédent, c'est ce que je disais (peut-être pas assez clairement) : les taglets enrichiront le JavaDoc généré, mais le compilateur ne sera pas plus intelligent.

n°307512
BifaceMcLe​OD
The HighGlandeur
Posté le 12-02-2003 à 14:51:16  profilanswer
 

nraynaud a écrit :


Depuis au moins 1996 des voix s'élèvent contre l'absence de contrats (et, dans un autre registre, de généricité) dans java.


Oui, mais si ce sont des chercheurs ou des théoriciens, Sun s'en fout. Il faut que ce soit des utilisateurs qui le demandent. Beaucoup d'utilisateurs. La meilleure preuve, c'est que pour la généricité, Sun va modifier le langage pour le JDK 1.5. Donc ça marche (même si c'est long).

n°307589
nraynaud
lol
Posté le 12-02-2003 à 15:33:32  profilanswer
 

BifaceMcLeOD a écrit :


Relis mon post précédent, c'est ce que je disais (peut-être pas assez clairement) : les taglets enrichiront le JavaDoc généré, mais le compilateur ne sera pas plus intelligent.
 


 
je pensais à tirer des .java (ou même des .class, à la caml) "enrichis en qualité".

n°307591
nraynaud
lol
Posté le 12-02-2003 à 15:34:43  profilanswer
 

BifaceMcLeOD a écrit :


Oui, mais si ce sont des chercheurs ou des théoriciens, Sun s'en fout. Il faut que ce soit des utilisateurs qui le demandent.  


 
L'inovation par les techniciens, on l'attend encore.

n°307596
BifaceMcLe​OD
The HighGlandeur
Posté le 12-02-2003 à 15:37:50  profilanswer
 

Ben quand les techniciens innovent, le reste de l'industrie refuse de suivre. Les exemples sont légion...  :sarcastic:

n°307942
schnapsman​n
Zaford Beeblefect
Posté le 12-02-2003 à 22:10:40  profilanswer
 

nraynaud a écrit :


 
Ca manque surtout de culture => "Conception et programmation orientées Objet" B. Meyer.
 
 


 
J'aurai plutot conseillé un bouquin d'algo genre "Introduction to algorithmics" (T. Cormen, R. Leiserson, R. Rivest)


---------------
From now on, you will speak only when spoken to, and the first and last words out of your filthy sewers will be "Sir!"
n°308062
LeGreg
Posté le 13-02-2003 à 00:05:32  profilanswer
 

BifaceMcLeOD a écrit :

Les tags @pre, @post et @invariant ne sont pas reconnus en standard par JavaDoc ou le compilateur Java. Par contre, rien ne t'empêche d'étendre JavaDoc avec des taglets afin qu'il les reconnaisse.
Mais cela ne permettra que d'augmenter la richesse d'expression de la documentation fabriquée par JavaDoc, pas du code généré par le compilateur Java. Il serait peut-être judicieux d'en faire la proposition à Sun (via une JSR), pour que Java se rapproche un peu d'Eiffel !  :jap:  :D  


 
Hmm j'ai fait un ou deux tds en java
ou les contrats étaient inclus dans le code sous forme d'asserts.
 
par contre je ne me souviens plus du nom de l'outil qui permettait de faire ça.  
 
Mais ce n'est peut-etre pas de ça dont
vous discutiez..
 
LeGreg


---------------
voxel terrain render engine | animation mentor
n°308067
--greg--
Posté le 13-02-2003 à 00:09:33  profilanswer
 

ben avec la jdk1.4 y'a le "assert", mais bon j'en sais pas plus :o


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°308072
LeGreg
Posté le 13-02-2003 à 00:14:05  profilanswer
 

--greg-- a écrit :

ben avec la jdk1.4 y'a le "assert", mais bon j'en sais pas plus :o


 
nan on parle pas de assert mais d'un outil qui genere ces assert
..  
enfin je crois parce que je suis un peu perdu
dans vos discussions  
 
LeGreg


---------------
voxel terrain render engine | animation mentor
n°308128
nraynaud
lol
Posté le 13-02-2003 à 09:35:03  profilanswer
 

legreg a écrit :


 
nan on parle pas de assert mais d'un outil qui genere ces assert
..  
enfin je crois parce que je suis un peu perdu
dans vos discussions  
 
LeGreg


 
Si on parle de la même discussion, t'es pas à la rue.
 
J'ai trouvé ça : http://jcontractor.sourceforge.net [...] ourse.html
 
ça a une bonne tête, je testerais un jour.

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  post et pres condition

 

Sujets relatifs
condition dans boucles forUn systeme de post
[Java] - Help Méchament Needed en post #4 - (projet CO inside) :/[php] faire une condition ds une autre avec session
prob avec l'upload de fichiers - $HTTP_POST_FILES[C++] template et condition
[HTML] comment faire un refresh avec post automatique[PHP] $_POST --> Erreur !
condition particuliere... 
Plus de sujets relatifs à : post et pres condition


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR