FORUM Syndrome-OC - Jacky-PC


  Programmation


  les théories de la programmation


  [Débat] Critères de qualité d'un programme

 




13 utilisateurs inconnus

 Mot :   Pseudo :  
 
 Page :  1  2
Page Précédente 
Auteur Sujet :

[Débat] Critères de qualité d'un programme

n°402
albataur
Posté le 16-12-2003 à 23:43:27  profilanswer
 

Salut :)
 
Je me demandais ce qui fait la qualité d'un programme.
Est-ce que c'est la lisibilité et compréhensibilité du code source, les performances du programme, la longueur du code ... ?
 
J'imagine que cela doit dépendre de l'usage auquel il est destiné (par exemple pour un gros programme, les perfs et pour una appli web la longueur ...) ?
 
Coment classeriez vous et quel degré d'importance accorderiez vous à chacun des ces critères ?
 
a+

mood
Google
Posté le 16-12-2003 à 23:43:27  profilanswer
 

n°403
xstephx
Sarah!
Posté le 16-12-2003 à 23:57:46  profilanswer
 

d'apres mon prof d'algo, c'est l'optimisation du code (ie: il doit etre ecrit pour que lep rogramme s'execute le plus rapidement possible) sinon il ne doit bien sur comporter aucune erreur.
 
Mais disons que sur deux programmes qui remplissent une meme tache,  et dont la source est aussi lisbile (ça c'est pas vraiment un critere, parce que c'est pas dur), ce qui comptera pour les departager, ce sera le temps d'exécution.


---------------
* Rejoignez le groupe SOJ sur last.fm ! * Mes critiques de films *
n°404
Deadog
Dain Bramaged
Posté le 17-12-2003 à 00:03:22  profilanswer
 

ils sont tous très importants ! (extrémiste inside :D)
 
un code doit être lisible, cad ke les variables et les fonctions doivent avoir des noms explicitent (à bas les i pour faire des boucles !!)
il doit utilisé pleinement les subtilités du language :
par expl, au lieu de faire ça :

Code :
  1. est_sup (type a, type b) :
  2. if(a > b) then renvoi true sinon renvoi false


mais plutôt

Code :
  1. est_sup (typa a, type b) :
  2. renvoi (a > b)


(erreur ke je vois énormémént)
 
ses performances doivent être adpaté à l'utilisation (faire une boucle pour l'initialisation un progamme spa trop grave, mais faire une boucle dans kklch ki lui même tourne en boucle dans le temps, c bcp moins bien :D et si y'a moyen d'évité (en changean la structure même du programme) alors autant faire plus reposant pour le cpu :))
 
par contr les règles sur "combien de caractère par ligne max" et "combien de ligne max pour une fonction" j''en ai jamais vraiment compris l'utilité !

n°405
nicodache
marmotte en chocolat concept ©
Posté le 17-12-2003 à 02:15:11  profilanswer
 

bah disons que faire une fonction qui teste une variable globale, et qui renvoie 1 ou 0, ca fait des appels et des sauts dans le code totalement inutiles ;)
 
et puis, opération ternaire powaa :D
 

Code :
  1. return (a > b) ? 1 : 0 ;


(juste pour etre chiant :D)


---------------
modérateur inside [:nicodache] plankaivoo [:nicodache] - ici powered - Je roule en micra 1l 55cv et je t'emmerde :o
n°406
KnX
To be or not to code.
Posté le 17-12-2003 à 07:14:46  profilanswer
 

Etant donné qu'un "programme" est un "programme" et pas une source, a mon avis ce qui compte c'est l'optimisation et l'ergonomie du logiciel.


---------------
/!\ KnX's bash NP : Norah Jones - Don't Miss You At All /!\
n°408
Dr Lous
I see old password
Posté le 17-12-2003 à 07:40:29  profilanswer
 

optimisation, code lisible (genre pas de foreach dans un while dans un for [:dslam]),et seulement ensuite les commentaires
 
ce ke vous attendez d'un prog (je prends biens sur open-S)  
k'il va vite, k'on puisse le comprendre meme si c un petit roumanais (g rien contre eux ;)), et seulement comprendre ce ke l'auteur voulait faire...

n°409
Dr Lous
I see old password
Posté le 17-12-2003 à 07:41:13  profilanswer
 

ha oui, les variables... tres tres important ^^ j'ai encore des petit trucs avec a, b et i [:dslam]

n°411
plut0nium
M3uH v2.0
Posté le 17-12-2003 à 12:50:22  profilanswer
 

y'a la robustesse aussi... c'est à dire qu'une erreur de l'utilisateur ne fait pas tout planter (ex: vérifier les entrées)

n°412
Deadog
Dain Bramaged
Posté le 17-12-2003 à 12:53:53  profilanswer
 

exact, le traitement d'erreur est le plus important
dans un programme bien fait, le traitement d'erreur prend 75-80% du temps
c lui ki permet de debugger, et c la solution ultime pour pas avoir des plantages à répétition

n°413
xstephx
Sarah!
Posté le 17-12-2003 à 18:54:14  profilanswer
 

y'a le langage utilisé aussi : si c'est en Perl, c'est bien, sinon non.
 
:D


---------------
* Rejoignez le groupe SOJ sur last.fm ! * Mes critiques de films *
n°414
albataur
Posté le 17-12-2003 à 18:55:52  profilanswer
 

En fait, quand je parlais de la longueur du code c'est plutôt de généralisation que je voulais parler.
C'est important ça aussi.

n°415
KnX
To be or not to code.
Posté le 17-12-2003 à 19:29:37  profilanswer
 

l'auteur du code c'est important aussi, si c'est DDG c'est mal, sinon non.


---------------
/!\ KnX's bash NP : Norah Jones - Don't Miss You At All /!\
n°416
Deadog
Dain Bramaged
Posté le 17-12-2003 à 19:34:06  profilanswer
 

KnX a écrit :

l'auteur du code c'est important aussi, si c'est DDG c'est mal, sinon non.


 
 
 [:andro jean tonic]  
 
 
 [:alex666] :fuck:

n°417
bap2703
Posté le 17-12-2003 à 19:38:29  profilanswer
 

Nous on nous fait faire bcp de qualité :o
 
Variables explicites, commentaires, algo en francais avec chaque programme-sous programme-sous sous programme,etc... bien détaillé
 
C'est chiant :o
D'ailleur la programmation c'est chiant :gun:
 
Py en plus quand on dit qu'on aime l'informatique ils pensent que tu passe ta vie à coder, alors que toi en fait tu pensais à ton porte clé... y sont cons les gens [:grut]

n°418
Deadog
Dain Bramaged
Posté le 17-12-2003 à 19:41:48  profilanswer
 

kan j'vois un merdeux ki dit k'il aime l'informatique je pense kil passe sa vie à jouer et c souvant ça :D
 
sinon les commentaires en français c mal :o vous verez plus tard kan vous bosserai dans des boîtes internationnales :D

n°419
KnX
To be or not to code.
Posté le 17-12-2003 à 19:43:13  profilanswer
 

francais suxez c kler, pkoi pas traduire les language de prog aussi ? :p


---------------
/!\ KnX's bash NP : Norah Jones - Don't Miss You At All /!\
n°420
bap2703
Posté le 17-12-2003 à 19:44:54  profilanswer
 

KnX a écrit :

francais suxez c kler, pkoi pas traduire les language de prog aussi ? :p


 
on est pas chez casio non plus  [:dr lous]

n°421
Deadog
Dain Bramaged
Posté le 17-12-2003 à 19:45:31  profilanswer
 

bap2703 a écrit :


 
on est pas chez casio non plus  [:dr lous]  


 
 
le basic des casio est en english :heink:

n°422
bap2703
Posté le 17-12-2003 à 19:47:59  profilanswer
 

Ouais c'est dans les TI68K que y a une traduction  
(mais j'allais pas dire que les casio c'est mieux quand meme [:jayz])

n°423
KnX
To be or not to code.
Posté le 17-12-2003 à 20:01:32  profilanswer
 

sur les TI on peut traduire le language, sur Office je crois aussi ^^


---------------
/!\ KnX's bash NP : Norah Jones - Don't Miss You At All /!\
n°424
xstephx
Sarah!
Posté le 17-12-2003 à 20:27:22  profilanswer
 

ce qui est chiant c'est le 'méta-langage' pour l'algorithmique... :/ mais le prof il kiffe... c'est un peu inutile je trouve, voire redondant si on peut aller aussi vite en codant direct dans le vrai langage... mais bon, monsieur est diplome de stanford, alors il se la joue... lol :D


---------------
* Rejoignez le groupe SOJ sur last.fm ! * Mes critiques de films *
n°425
bap2703
Posté le 17-12-2003 à 20:30:54  profilanswer
 

Moi mon prof c'est un vrai geek : on le trouve en tappant son pseudo dans google :
http://www.google.fr/search?q=gill [...] l=fr&meta=
 
[:rofl]

n°426
xstephx
Sarah!
Posté le 17-12-2003 à 20:50:56  profilanswer
 

bap2703 a écrit :

Moi mon prof c'est un vrai geek : on le trouve en tappant son pseudo dans google :
http://www.google.fr/search?q=gill [...] l=fr&meta=
 
[:rofl]


 
+1 : http://www.google.fr/search?hl=fr& [...] ogle&meta=
 
edit : g trouvé le critère ultime de qualité : il faut que le porogrammeur ait la mm tete que mon prof d'algo : http://www.ulg.ac.be/facsa/images/demarneffepierrearnould.jpg
 
Il est comique ! [:grut]


Message édité par xstephx le 17-12-2003 à 20:53:21

---------------
* Rejoignez le groupe SOJ sur last.fm ! * Mes critiques de films *
n°445
CryoGen
Powered by kitkat©
Posté le 18-12-2003 à 15:35:15  profilanswer
 

optimisation et traitement d'erreur... les 2 qualité qui manque à un certain devellopeur de logiciel petit-programme :ange:
 
 
:D

n°447
xstephx
Sarah!
Posté le 18-12-2003 à 17:05:30  profilanswer
 

je dirais mm plus, programme microscopique... :D


---------------
* Rejoignez le groupe SOJ sur last.fm ! * Mes critiques de films *
n°448
Dr Lous
I see old password
Posté le 18-12-2003 à 17:13:43  profilanswer
 

:heink:

n°452
CryoGen
Powered by kitkat©
Posté le 18-12-2003 à 18:32:28  profilanswer
 


 
rohh m _ _ _ _ $ _ _ t

n°453
Dr Lous
I see old password
Posté le 18-12-2003 à 19:45:44  profilanswer
 

g jamais etait bon au pendu [:dslam]

n°454
Deadog
Dain Bramaged
Posté le 18-12-2003 à 20:16:37  profilanswer
 

Dr lous a écrit :

g jamais etait bon au pendu [:dslam]


 
 
t'as plus ka te pendre la

n°455
Dr Lous
I see old password
Posté le 18-12-2003 à 20:32:13  profilanswer
 

nan je croyais ke c t le nom d'un gars ki commencer par rohh... chercher pas.. je suis deja ->[]....

n°457
CryoGen
Powered by kitkat©
Posté le 19-12-2003 à 15:19:53  profilanswer
 

Dr lous a écrit :

nan je croyais ke c t le nom d'un gars ki commencer par rohh... chercher pas.. je suis deja ->[]....


 
 :lol:

n°485
faap
Powered by Sega Naomi
Posté le 22-12-2003 à 15:38:26  profilanswer
 

Code :
  1. #include "stdio.h"
  2. #define e 3
  3. #define g (e/e)
  4. #define h ((g+e)/2)
  5. #define f (e-g-h)
  6. #define j (e*e-g)
  7. #define k (j-h)
  8. #define l(x) tab2[x]/h
  9. #define m(n,a) ((n&(a))==(a))
  10. long tab1[]={ 989L,5L,26L,0L,88319L,123L,0L,9367L };
  11. int tab2[]={ 4,6,10,14,22,26,34,38,46,58,62,74,82,86 };
  12. main(m1,s) char *s; {
  13.     int a,b,c,d,o[k],n=(int)s;
  14.     if(m1==1){ char b[2*j+f-g]; main(l(h+e)+h+e,b); printf(b); }
  15.     else switch(m1-=h){
  16.         case f:
  17.             a=(b=(c=(d=g)<<g)<'<g)<<g;
  18.             return(m(n,a|c)|m(n,b)|m(n,a|d)|m(n,c|d));
  19.         case h:
  20.             for(a=f;a=e)for(b=g<<g;b<n;++b)o[b]=o[b-h]+o[b-g]+c;
  21.             return(o[b-g]%n+k-h);
  22.         default:
  23.             if(m1-=e) main(m1-g+e+h,s+g); else *(s+g)=f;
  24.             for(*s=a=f;a<e;) *s=(*s<<e)|main(h+a++,(char *)m1);
  25.         }
  26. }


 
 :whistle:  
 
De Marneffe il me fait peur, un vrai geek celui là [:dslam]


---------------
Plus on pédale moins fort, moins on avance plus vite (et inversément)
n°486
xstephx
Sarah!
Posté le 22-12-2003 à 15:39:53  profilanswer
 

c'est du code de De Marneffe ça ? :) ça m'etonne pas... :/ :lol:


---------------
* Rejoignez le groupe SOJ sur last.fm ! * Mes critiques de films *
n°487
faap
Powered by Sega Naomi
Posté le 22-12-2003 à 15:44:01  profilanswer
 

non suffit de taper 'Hello World' sur Google et y'a ca qui sort ;)
Mais il est serait capable ;)


---------------
Plus on pédale moins fort, moins on avance plus vite (et inversément)
n°489
Dr Lous
I see old password
Posté le 22-12-2003 à 19:09:31  profilanswer
 

Citation :


return(m(n,a|c)|m(n,b)|m(n,a|d)|m(n,c|d));


 
he be bon debug [:dslam]

n°490
Dr Lous
I see old password
Posté le 22-12-2003 à 19:09:53  profilanswer
 

for(a=f;a=e)for(b=g<<g;b<n;++b)o[b]=o[b-h]+o[b-g]+c;
 
[:peur]mamannnnnn :lol:

n°495
faap
Powered by Sega Naomi
Posté le 22-12-2003 à 19:42:17  profilanswer
 

Quand tu ponds un code comme ça t'es sûr de ton coup [:dslam]


---------------
Plus on pédale moins fort, moins on avance plus vite (et inversément)
n°496
Deadog
Dain Bramaged
Posté le 22-12-2003 à 20:00:27  profilanswer
 

et ça sert à ?


Message édité par Deadog le 22-12-2003 à 20:00:57
n°500
faap
Powered by Sega Naomi
Posté le 22-12-2003 à 20:33:15  profilanswer
 

ca écrit Hello World! :D
 
Celui là aussi mais c plus facile à comprendre ;)
 

Code :
  1. #define _ (int) putchar
  2. main() { int c = 0110
  3. ;_(c);c+=29;_(c);c+=7
  4.   ;_(c);_(c);c+=3;_(c)
  5.   ;c=0x20;_(c);c=0127
  6.    ;_(c);c+=24;_(c);
  7.     c+=0x3;_(c);c-=
  8.      6;_(c);c-=010;
  9.       _(c);c=0x21;
  10.        _(c);_(10)
  11.          ;c+=66;}


 
 
Bref un bon programme est le plus rapide


Message édité par faap le 22-12-2003 à 20:35:15

---------------
Plus on pédale moins fort, moins on avance plus vite (et inversément)
n°501
xstephx
Sarah!
Posté le 22-12-2003 à 20:48:25  profilanswer
 

Ca me fait penser aux obfus et aux Japh en Perl... :)  http://www.perlmonks.org/index.pl? [...] ted%20Code
 
exemple d'un JAPH (de moi, d'il y a un peu plus de 2 ans) :
 

Code :
  1. $i=95;$a="\"-S0\`";$b="#\,3\$W";$c="#\,3\$U";$d="#\,
  2. 3\$V";$e="\,S<\`";$f="\"-C4\`";$g="#\,3\$P";$h="#\,3\
  3. $Q";$i="PERL";$j="MONKS";$k="#\,3\`Q";$l="#\,3\$T";
  4. $m="\,S<\`";$n="\".#\`\`";$o="#\,3\`Q";$p="#\,3\$T";
  5. $q="#\,3\`X";$r="\,S<\`";$s="#\,3\`T";$t="\".3<\´";
  6. $u="\".3D\´";$v="#\,3\`W";$w="#\,3\`Q";$x="#\,3\$T";z();
  7. sub z{if($i<121){if($i>103){if($i<105){print"t";$i++;
  8. z();}}if($i>104){if($i<106){print"h";$i++;z();}}
  9. $i++;$j=chr($i);$_=chr(unpack(u,${$j}));print;z();}}


 
qu'est ce qu'un JAPH ? un programme en Perl dont la fonction est d'imprimmer à l'ecran 'Just Another Perl Hacker' ... bien sur unsimple print suffirait, mais le but est de rendre le plus indéchiffrable possible le code du programme, tout en évitant une certaine redondance au niveau des différentes methodes employees et commandes utilisees... ;)
 
Certains disent que les JAPH sont à la programmation ce que la poésie est à la littérature : un ensemble de figures de style, à priori sans grande utilité, si ce n'est sans doute la 'beauté' du code :) (ceci dit, il y en a de bien bien meilleurs que les miens sur perlmonks, il suffit de chercher un peu ;) )


Message édité par xstephx le 22-12-2003 à 20:50:36

---------------
* Rejoignez le groupe SOJ sur last.fm ! * Mes critiques de films *
mood
Google
Posté le 22-12-2003 à 20:48:25  profilanswer
 

 Page :  1  2
Page Précédente 

Aller à :
Ajouter une réponse

  FORUM Syndrome-OC - Jacky-PC


  Programmation


  les théories de la programmation


  [Débat] Critères de qualité d'un programme

 

Hit Parade