30

Toutes les conventions de programmation que j'ai vues (K&R, GNU etc.) disent qu'il faut mettre les accolades de début/fin de fonction en début de ligne

c pas en JAVA qu'on met l'accolage ouvrante en fin de ligne ?
un gars qui a l'habitude de présenter d'une certaine façon va pas en changer entre le JAVA et le C, ma foi... enfin, moi, je dis ça...
et pour les fonctons courtes, qui tiennent en un eligne ? pkoi revenir à la ligne ?

avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

31

Kevin Kofler
:
Sasume
: Il faudrait que ce switch soit accessible à partir de la boite "Program Options".

Il suffit de mettre -mno-bss dans les "Compiler Options"!
Mais ce n'est pas très pratique d'utilisation quand même...
Ce serait mieux d'avoir simplement à cocher un truc.
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

32

Ximoon :
rien à faire, chacun indente comme ça lui plait, pas la peine de défendre encore les features (grin) de ton truc ! Sinon pour le bss je suis d'accord je trouve ça scandaleux.

Bref, rien à faire, on restera en désaccord total. sad
squale92
:
Toutes les conventions de programmation que j'ai vues (K&R, GNU etc.) disent qu'il faut mettre les accolades de début/fin de fonction en début de ligne

c pas en JAVA qu'on met l'accolage ouvrante en fin de ligne ?
un gars qui a l'habitude de présenter d'une certaine façon va pas en changer entre le JAVA et le C, ma foi... enfin, moi, je dis ça... et pour les fonctons courtes, qui tiennent en un eligne ? pkoi revenir à la ligne ?

Tu peux mettre l'accolade ouvrante en fin de ligne, ça marche quand-même. C'est le code à l'intérieur qui doit être absolument indenté, et l'accolade fermante qui doit être en début de ligne. Bref, même avec la convention du Java, ça passe (mais ce n'est pas du tout la convention prévue par le C, justement parce que certains éditeurs n'aiment pas!).

Quant á mettre toute la fonction en une ligne, ben, c'est contre les conventions, donc on ne fait pas.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

33

Sasume
:
Kevin Kofler
:
Sasume
: Il faudrait que ce switch soit accessible à partir de la boite "Program Options".

Il suffit de mettre -mno-bss dans les "Compiler Options"!
Mais ce n'est pas très pratique d'utilisation quand même... Ce serait mieux d'avoir simplement à cocher un truc.

La solution la plus simple reste d'initialiser tes variables si tu ne veux pas qu'elles soient en BSS!
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

34

Kevin Kofler :
Toutes les conventions de programmation que j'ai vues (K&R, GNU etc.) disent qu'il faut mettre les accolades de début/fin de fonction en début de ligne, et indenter le code qui est à l'intérieur. Si tu veux indenter comme un porc (c'est-à-dire contre toute convention), on ne t'en empêche pas, mais ne t'étonne pas si certaines fonctions de l'IDE ne marchent pas sous ces circonstances!

Je me suis forcé à indenter comme ça
void machin(void)
{
    if (1 == 2)
    {
        rien();
    }
}

"à cause" de TIGCC, c'est pas plus mal (perso du moment que c'est indenté, je me fous totalement de la manière), mais c'est totalement faux qu'un code indenté comme ça :
void machin(void) {
    if (1 == 2) {
        rien();
    }
}

soit considéré comme incorrect, par exemple (et pourtant c'est l'indentation utilisée par l'option "indentation automatique" de certains programmes, mIRC ou Flash par exemple). C'est clairement un problème de l'IDE, et bien trop gros pour que tu puisse le justifier, quel que soit le nombre de liens grin

[edit] Pas vu le post d'en dessous, celle-ci a l'air de marcher. Un coup de chance, j'imagine ? grin
Toujours est-il que parler d'indentation correcte ou incorrecte est stupide.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

35

Tu peux mettre l'accolade ouvrante en fin de ligne, ça marche quand-même

arf, bon, ok smile
c pas ce que j'avais compris à partir du post 15
Il faut mettre les accolades de début/fin de fonction en début de ligne,

C'est le code à l'intérieur qui doit être absolument indenté, et l'accolade fermante qui doit être en début de ligne.

OK, normal, donc smile
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

36

Vertyos


Le code indenté comme ça:
void machin(void) {
    if (1 == 2) {
        rien();
    }
}

est accepté par la détection de fonctions. Le problème, c'est le code indenté comme ça:
void machin(void)
  {
    if (1 == 2) {
        rien();
    }
  }

ou comme ça:
void machin(void)
{
if (1 == 2)
{
  rien();
}
}

ou carrément comme ça:
void machin(void)
  {
 if (1 == 2)
{
  rien();
    }
   }


Et mIRC et Flash ne sont pas vraiment de quoi indenter automatiquement un code C. Les conventions qu'ils utilisent n'ont rien à voir avec les conventions C (qui sont l'accolade ouvrante en début de ligne, même dans la convention K&R où on note:
if (machin) {
mais:
void machin(void)
{

).
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

37

Bah oui mais chacun son truc, si t'as qqun qui veut indenter comme dans le dernier exemple de ton post, c'est son problème ? Le terme "indentation" ne sous-entend aucune convention smile
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

38

bah révisez votre algo les enfants tongue
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

39

C'est dommage de vous en tenir à l'indentationb pour détecter les fonctions...
En plus, le premier exemple d'indentation que tu as donné (je crois que c'est ce que emacs fait par défaut) est tout à fait lisible et pratique...
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

40

Vertyos
:Bah oui mais chacun son truc, si t'as qqun qui veut indenter comme dans le dernier exemple de ton post, c'est son problème ?

Si c'est pour indenter comme ça, autant ne pas indenter. Mais alors il ne faut pas s'étonner que l'IDE ne comprenne pas. La détection des fonctions est faite pour marcher pour du code normal, pas pour des candidats de l'IOCCC.

(Au fait, lis aussi l'edit du post ./36. smile)
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

41

Au fait, dans aucun bouquin de C je n'ai lu qu'il y avait une norme d'indentation.
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

42

Sasume :
C'est dommage de vous en tenir à l'indentationb pour détecter les fonctions... En plus, le premier exemple d'indentation que tu as donné (je crois que c'est ce que emacs fait par défaut) est tout à fait lisible et pratique...

Ce que Emacs fait par défaut, c'est l'indentation GNU, qui comme le K&R traîte les fonctions spécialement:
  if (machin)
    {
      ...
    }

mais:
void
machin (void)
{
  ...
}

(Cela dit, le fait de mettre le type dans une ligne à part ne passe pas non plus dans l'IDE.)
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

43

Kevin Kofler
: Si c'est pour indenter comme ça, autant ne pas indenter.

Bah et si qqun trouve ça lisible ? (après tout ? grin)
Mais alors il ne faut pas s'étonner que l'IDE ne comprenne pas. La détection des fonctions est faite pour marcher pour du code normal, pas pour des candidats de l'IOCCC.

Donc elle est mal faite, cf ce qu'a dit Sasume : repérer les fonctions avec l'indentation c'est foireux grin
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

44

Sasume
: Au fait, dans aucun bouquin de C je n'ai lu qu'il y avait une norme d'indentation.

et pour cause hehe
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

45

dites, on ne va pas relancer le débat sur l'indentation...

Néanmoins, Est-ce que la détection de fonction marche avec ceci:
[3]//ma fonction fait ceci[/3]
[12]void[/12] ma_fonction([12]void[/12])
{
blabla();
blabla();
[12]if[/12](bla)
    blablabla();
[12]else[/12][3]//bla==0[/3]
    {
    [12]for[/12]([12]int [/12]i=1;i<bla3;i++)
        {
        blablablablabla();
        bla2();
        }[3]//for[/3]
    }[3]// if bla[/3]
}

[3]//mon autre fontion fait cela[/3]
[12]void [/12]ma_seconde_fonction([12]int[/12] i)
{
printf("%d",i);
}

?

PS: ceci est une indentation que je trouve fort correcte, et Gnolo à ceux qui ne sont pas d'accord, ils n'ont qu'à utiliser un reformateur de source...
avatar
Maintenant j'ai la flemme de garder une signature à jour sur ce site. Je n'ai même plus ma chaîne Exec sous la main.

46

De toute facon, du moment que c un peu aéré, je vois pas ce qui dérange, chacun son indentation !
(faut quand mm indenter hein...)

47

Link
: Néanmoins, Est-ce que la détection de fonction marche avec ceci:

Peut-être, mais ce n'est en tout cas pas l'indentation prévue.
Le code à l'intérieur des fonctions est censé être indenté.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

48

mais je trouve que ça fait une indentation supplémentaire et inutile. Et selon mes critères d'indentation, il n'y aurait alors jamais une accolade en début de ligne, ce qui serait un gachis de place horizontale...
avatar
Maintenant j'ai la flemme de garder une signature à jour sur ce site. Je n'ai même plus ma chaîne Exec sous la main.

49

Pourquoi utiliser l'IDE au lieu d'EMACS ?

50

Link
: mais je trouve que ça fait une indentation supplémentaire et inutile. Et selon mes critères d'indentation, il n'y aurait alors jamais une accolade en début de ligne, ce qui serait un gachis de place horizontale...

Les accolades d'une fonction doivent être en début de ligne.
Tu devrais faire comme K&R et GNU et faire un cas particulier pour les fonctions.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

51

PpHd
: Pourquoi utiliser l'IDE au lieu d'EMACS ?

Parce que c'est plus pratique. smile
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

52

Moi j'ai appris le C avec un exemple du prof, qui indentait les accolades AVEC le texte, et je trouve cela plus lisible. AUssi ai-je gardé cette habitude, et le texte d'une fonction restera en début de ligne avec ses accolades.

'va fallior que je pense à prendre la nouvelle version de TIGCC... mais pour l'instant je n'ai pas trop le temps de prog sur TI...
avatar
Maintenant j'ai la flemme de garder une signature à jour sur ce site. Je n'ai même plus ma chaîne Exec sous la main.

53

Perso j'ai pris l'habitude d'indeter comme cela:
 void machin(void)
   {
      if (1 == 2)
          {
             rien();
          }
    }

54

C'est pas beau sad

55

mais c'est ce qu'il y a de plus lisible je trouve (c'est comme ca que j'indente aussi )

56

Kevin Kofler :
Parce que c'est plus pratique. smile

Mais vu que vous laissez volontairement des bugs dans l'IDE (cf le problème dont on est en train de parler), ça donne pas envie de l'utiliser tongue
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

57

void machin(void)
{
   if (1 == 2)
   {
      rien();
   }
}


pOwA !!
avatar
Membre fondateur de la Ligue Anti-MacIntoc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Un expert est quelqu'un qui en sait de plus en plus sur de moins en moins
de choses, jusqu'à ce qu'il connaisse absolument tout à propos de rien.

58

Kevin Kofler
:
Link
: mais je trouve que ça fait une indentation supplémentaire et inutile. Et selon mes critères d'indentation, il n'y aurait alors jamais une accolade en début de ligne, ce qui serait un gachis de place horizontale...

Les accolades d'une fonction doivent être en début de ligne.
Tu devrais faire comme K&R et GNU et faire un cas particulier pour les fonctions.

Je préfère largement comme ça :
void machin() {  // pas besoin de void %)
    if (1 == 2) {
        rien();
    }
}

On voit sans aucun pb le corps des fonctions je trouve, alors pas besoin de gâcher des lignes pour juste une accolade neutral

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

59

Si tu as besoin d'un void!

60

    void machin
      (void){if
  (1 == 2)
{rien
()
    ;}}


pOwA !!
avatar
« Le bonheur, c'est une carte de bibliothèque ! » — The gostak distims the doshes.
Membrane fondatrice de la confrérie des artistes flous.
L'univers est-il un dodécaèdre de Poincaré ?
(``·\ powaaaaaaaaa ! #love#