Partage
  • Partager sur Facebook
  • Partager sur Twitter

[C/C++] Quand créer un fichier ?

Comment choisir les fichiers .c à créer et que mettre dedans?

Sujet résolu
    15 juillet 2018 à 21:52:51

    Bonjour,

    comment organisez vous vos projets? Qu'y a-t-il dans votre main.c? Que mettez vous dans vos autres fichiers .c?

    Je me pose ces questions parce que j'ai un peu de mal à regrouper mes fonctions de manière intuitive, naturelle ou logique.

    Merci d'avance.

    -
    Edité par Saperlu 15 juillet 2018 à 23:13:20

    • Partager sur Facebook
    • Partager sur Twitter
      15 juillet 2018 à 22:56:49

      Bonjour,

      Mauvais forum

      Le sujet est déplacé de la section Discussions générales vers la section Langage C

      Manque de Politesse

      Votre message ne comporte pas ou peu de formules de politesse (« Bonjour », « Merci », « Au revoir », etc.). Les règles du site exigent que chaque nouveau message comporte un minimum de politesse. Après tout, les gens qui répondent le font gratuitement, sur leur temps libre. Ils méritent bien un minimum de considération, n'est-ce pas ?


      Vous écrivez ce que vous voulez comme programme.

      • Partager sur Facebook
      • Partager sur Twitter
        16 juillet 2018 à 7:11:40

        Dans le main globalement je place des initialisations, des tests (vérification de paramètres), et l'appel aux fonctions métier), mais tu ne met pas de code métier.

        Pour les fichiers c'est plus une question de ressentis, il n'y a pas de règle absolue, mais généralement il vaut mieux avoir beaucoup de petit fichier qu'un seul gros (c'est plus rapide à la compilation). et pour ce que va mettre dedans, tu places tout ce qui appartiens à la même fonctionnalité.

        Voila une arborescence de projet:

        ./
        ├── bin
        │   ├── exec
        │   └── out
        ├── Configure
        │   ├── configure
        │   ├── configure_getGit
        │   ├── LICENSE
        │   └── readme.md
        ├── makefile
        ├── makefile.bak
        ├── README.md
        ├── res
        │   └── ssl -> /home/ox223252/ssl/
        └── src
            ├── flowMeterStruct.h
            ├── lib
            │   ├── autoUpdate
            │   │   ├── autoUpdate.c
            │   │   ├── autoUpdate.h
            │   │   ├── autoUpdate.o
            │   │   ├── LICENSE
            │   │   └── README.md
            │   ├── config
            │   │   ├── config_arg.c
            │   │   ├── config_arg.h
            │   │   ├── config_arg.o
            │   │   ├── config_data.h
            │   │   ├── config_file.c
            │   │   ├── config_file.h
            │   │   ├── config_file.o
            │   │   ├── LICENSE
            │   │   └── README.md
            │   ├── freeOnExit
            │   │   ├── freeOnExit.c
            │   │   ├── freeOnExit.h
            │   │   ├── freeOnExit.o
            │   │   ├── LICENSE
            │   │   └── README.md
            │   ├── jsonParser
            │   │   ├── a.out
            │   │   ├── jsonParser.c
            │   │   ├── jsonParser.h
            │   │   ├── jsonParser.o
            │   │   ├── LICENSE
            │   │   └── README.md
            │   └── sharedMem
            │       ├── LICENSE
            │       ├── README.md
            │       ├── sharedMem.c
            │       ├── sharedMem.h
            │       └── sharedMem.o
            ├── main.c
            ├── main.o
            ├── ....c
            ├── ....h
            └── ....o

        les différentes lis sont dispo sur mon github, si tu veux voir comment je regroupe les fonctionnalités.

        Voila pour ma part comment je m'organise.

        • Partager sur Facebook
        • Partager sur Twitter

        la connaissance est une chose qui ne nous appauvrit pas quand on la partage.

        Mon GitHub

          16 juillet 2018 à 16:55:00

          Merci beaucoup, tout cela me parait plus claire maintenant.

          ox223252 a écrit:

          Dans le main globalement je place des initialisations, des tests (vérification de paramètres), et l'appel aux fonctions métier), mais tu ne met pas de code métier.

          Qu'entendez vous par "fonctions métier"?

          ox223252 a écrit:

          les différentes lis sont dispo sur mon github, si tu veux voir comment je regroupe les fonctionnalités.

          Pour d'autres dans le besoin, voici un lien vers le GitHub (celui donné ne fonctionne pas) : https://github.com/ox223252


          • Partager sur Facebook
          • Partager sur Twitter
            17 juillet 2018 à 7:04:51

            dison

            Saperlu a écrit:

            Merci beaucoup, tout cela me parait plus claire maintenant.

            ox223252 a écrit:

            Dans le main globalement je place des initialisations, des tests (vérification de paramètres), et l'appel aux fonctions métier), mais tu ne met pas de code métier.

            Qu'entendez vous par "fonctions métier"?

            ox223252 a écrit:

            les différentes lis sont dispo sur mon github, si tu veux voir comment je regroupe les fonctionnalités.

            Pour d'autres dans le besoin, voici un lien vers le GitHub (celui donné ne fonctionne pas) : https://github.com/ox223252


            Quand je parle de fonctions métier, c'est la partie du code qui fait le travail qui est au cœur de ton besoin.

            Par exemple dans un jeux vidéo, la partie métier c'est l'algorithme du jeux. Les interaction avec le clavier ainsi que l'affichage ce n'est pas la partie métier, car l'affichage pourrait être fais autrement et le clavier pourrait être remplacé par une mannette, par contre ton algo lui restera toujours le même.

            • Partager sur Facebook
            • Partager sur Twitter

            la connaissance est une chose qui ne nous appauvrit pas quand on la partage.

            Mon GitHub

              18 juillet 2018 à 14:26:17

              Merci encore pour ces informations.

              • Partager sur Facebook
              • Partager sur Twitter

              [C/C++] Quand créer un fichier ?

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown