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

  FORUM HardWare.fr
  Programmation
  C

  question d'indentation

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

question d'indentation

n°1667928
in_your_ph​ion
Posté le 08-01-2008 à 18:40:45  profilanswer
 

Bonjour,

 

j'aimerai savoir ce que vous pensez de cette forme d'indentation :

 
Code :
  1. INLINE static int fonction_obscure(float* a) {
  2.   int i ;
  3.   for(i=0; i<15; i++) if(!FINITE(a[i])) return 0 ;
  4.   return 1 ;
  5. }
 

Le texte est indenté, pourtant : pas d'espace verticaux, return sur la même ligne. Dans une autre partie du code on trouve également des listes de déclarations de variables extremement longues, tout sur la même ligne ....ce qui rend le truc assez degeulasse à lire.

 

Ma question aux développeurs qui ont l'habitude de lire et réutiliser du code, et d'en coder : trouvez vous que c'est une indentation normale, lisible ..? Est ce que je suis le seul a trouver ca absoluement abominable. Sur une fonction de 3 ligne ca va, il faut l'imaginer sur des milliers de lignes.

 
Code :
  1. int
  2. a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,
  3. g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,
  4. d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r
  5. ,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g
  6. ,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,
  7. r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,;
  8. float
  9. a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d
  10. ,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,
  11. d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,
  12. r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d
  13. ,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,
  14. a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,;
  15. char * a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r
  16. ,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,
  17. r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,
  18. f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f
  19. ,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,
  20. g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,a,d,f,g,r,;
  21. INLINE static int fonction_obscure(float* a) {
  22.   int i ;
  23.   for(i=0; i<15; i++) if(!FINITE(a[i])) return 0 ;
  24.   return 1 ;
  25. }
  26. INLINE static int fonction_obscure(float* a) {
  27.   int i ;
  28.   for(i=0; i<15; i++) if(!FINITE(a[i])) return 0 ;   return 1 ;
  29. }
  30. INLINE static int fonction_obscure(float* a) {
  31.   int i ;
  32.   for(i=0; i<15; i++) if(!FINITE(a[i])) return 0 ;   return 1 ;
  33. }
  34. INLINE static int fonction_obscure(float* a) {
  35.   int i ;
  36.   for(i=0; i<15; i++) if(!FINITE(a[i])) return 0 ;   return 1 ;
  37. }
  38. INLINE static int fonction_obscure(float* a) {
  39.   int i ;
  40.   for(i=0; i<15; i++) if(!FINITE(a[i])) return 0 ;
  41.   return 1 ;
  42. }
  43. INLINE static int fonction_obscure(float* a) {
  44.   int i ;
  45.   for(i=0; i<15; i++) if(!FINITE(a[i])) return 0 ;   return 1 ;
  46. }
  47. INLINE static int fonction_obscure(float* a) {
  48.   int i ;
  49.   for(i=0; i<15; i++) if(!FINITE(a[i])) return 0 ;
  50.   return 1 ;
  51. }
  52. INLINE static int fonction_obscure(float* a) {
  53.   int i ;   for(i=0; i<15; i++) if(!FINITE(a[i])) return 0 ;   return 1 ;
  54. }
  55. INLINE static int fonction_obscure(float* a) {
  56.   int i ;   for(i=0; i<15; i++) if(!FINITE(a[i])) return 0 ;   return 1 ;
  57. }
 


par exemple un peu comme au dessus .... et pas que pour des fonctions inline.

 

(Je précise encore une fois que le code du dessus est indenté, donc l'indentation automatique ne changera rien)

 

merci par avance

Message cité 1 fois
Message édité par in_your_phion le 08-01-2008 à 18:48:25
mood
Publicité
Posté le 08-01-2008 à 18:40:45  profilanswer
 

n°1667967
Elmoricq
Modérateur
Posté le 08-01-2008 à 20:16:45  profilanswer
 

En voila un sujet original et constructif.

n°1667975
in_your_ph​ion
Posté le 08-01-2008 à 20:33:29  profilanswer
 

unidentified a écrit :

Le plus clair pour moi c'est ça ... Par contre en ce qui concerne tes variables pourquoi y a-t-il plusieurs variables (de même type) aux noms identiques ?

 

pourquoi ca te parait clair de tout écrire à l'horizontale ?

 

les variables sont les mêmes car c'est juste un exemple pour faire vite, normalement les variables sont toutes différentes mais ca donne un pâté immonde!!! LE pire, c'est que je dois reprendre le code de UN mec qui a fait ça .... il sait programmer mais personnellement je trouve pas que c'est réutilisable ... :( Il a fait son truc a sa sauce mais c'est inbitable pour les autres (d'ailleurs, c'est pas trop documenté  :cry: )


Message édité par in_your_phion le 08-01-2008 à 20:33:48
n°1667977
tpierron
Posté le 08-01-2008 à 20:54:26  profilanswer
 

Haha, bienvenue dans la vraie vie. Ce n'est pas ce qu'on t'avais vendu à l'école, hein ?
 
Bon, si ça peut te rassurer j'ai déjà bosser sur du code nettement moins bitable. Tellement que lorsqu'on avait expliqué au client ce que faisait vraiment le code, il ne m'avait pas cru et pensait que c'était moi qui avait introduit un bug.
 
C'était le truc classique : fonctions kilométriques, factorisation nulle, aucun tests unitaires, aucun commentaire (enfin à part pour désactiver du code obsolète), aucune doc (même niveau fonctionnel), logique spaghetti. Tu modifiais un truc, fallait passer 3 jours en debug pour être sur de n'avoir rien foutu en l'air ailleurs et passer en revu 90% du code à chaque fois (car aucune factorisation).
 
Ouais, fallait bien pouvoir manger chaque jour.

n°1667978
Elmoricq
Modérateur
Posté le 08-01-2008 à 20:57:06  profilanswer
 

C'est mon monde aussi. [:zytrasnif]
 
Des fois je me demande comment les programmes font pour fonctionner, et je ne cesse de m'émerveiller sur les incroyables déviances que la logique humaine peut adopter. [:vapeur_cochonne]
 
Sinon, pour l'indentation, c'est une non-question.
La seule vraie indentation valide et lisible, c'est celle qui est homogène sur l'ensemble d'un projet, et adoptée par tous les développeurs. Et ce quelles que soient ses préférences personnelles.
 
Ils ont eu le malheur de me donner notre futur environnement de dev à concevoir, ils vont pas comprendre quand je vais activer un indenteur auto. sur les check-in [:z800]


Message édité par Elmoricq le 08-01-2008 à 20:57:40
n°1668152
matafan
Posté le 09-01-2008 à 09:27:47  profilanswer
 

Si tu as des déclarations de variables aussi longues que ça, tu as des problèmes plus graves que l'indentation ;)

n°1671062
Emmanuel D​elahaye
C is a sharp tool
Posté le 14-01-2008 à 19:12:51  profilanswer
 

in_your_phion a écrit :


j'aimerai savoir ce que vous pensez de cette forme d'indentation :

Code :
  1. INLINE static int fonction_obscure(float* a) {
  2.   int i ;
  3.   for(i=0; i<15; i++) if(!FINITE(a[i])) return 0 ;
  4.   return 1 ;
  5. }


Le texte est indenté,


Selon des réglages qui ne sont pas les miens :  
 
http://delahaye.emmanuel.free.fr/spip.php?article7

Code :
  1. INLINE static int fonction_obscure (float *a)
  2. {
  3.    int i;
  4.    for (i = 0; i < 15; i++)
  5.       if (!FINITE (a[i]))
  6.          return 0;
  7.    return 1;
  8. }


 

Code :
  1. int
  2. a,d,f,g,r,a<...>;
  3. float
  4. a,<...>;


Pas du C...


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°1671077
czh
Posté le 14-01-2008 à 19:31:38  profilanswer
 

Pour ma part, en mode très compacté, je ferais plutôt comme ça.
Les codes trop aérés, ça use le scrolling à force.

Code :
  1. INLINE static int fonction_obscure (float *a) {
  2.    int i;
  3.    for (i = 0; i < 15; i++)
  4.       if (!FINITE (a[i])) return 0;
  5.    return 1;
  6. }

n°1671175
Joel F
Real men use unique_ptr
Posté le 14-01-2008 à 22:01:01  profilanswer
 

apres ... 2 esapces en tab, ca suffit hein [:dawa]


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

  question d'indentation

 

Sujets relatifs
[CSS]question sur un avertissement du validateurquestion generale
question bete sur const Type &L'art de poster une question
question Google Site MapQuestion technique sur InnoDB
Question sur une procédure pour afficher une pilequestion php
Question concernant la transparence de menus SpryUne question bête... (source généré par php --> indentation code).
Plus de sujets relatifs à : question d'indentation


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