IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Espaces en fin de ligne


Sujet :

C

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 6
    Points : 2
    Points
    2
    Par défaut Espaces en fin de ligne
    Bonjour à tous,

    Avec le langage C, les espaces en fin de ligne ne semblent pas pris en compte par le compilateur.

    Je voudrais les supprimer automatiquement à l'enregistrement de mes fichiers car de nombreux espaces et tabulations en fin de ligne polluent nos applications. Connaissez-vous un cas où cela pourrait être gênant ou puis-je le faire en toute confiance ?

    Merci pour votre aide.

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 104
    Points : 1 750
    Points
    1 750
    Par défaut
    Salut

    En quoi ces espaces posent-ils problème ? Le compilateur les zappe de toute façon, ça ne gêne en rien la compilation.

    Je voudrais les supprimer automatiquement à l'enregistrement de mes fichiers car de nombreux espaces et tabulations en fin de ligne polluent nos applications.
    C'est-à-dire ?

  3. #3
    Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2010
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 57
    Points : 62
    Points
    62
    Par défaut
    bonjour,
    pour les suprimer soit tu fait un script que tu execute apres avoir code soit tu configure ton editeur pour qu'il les suprimes de lui meme.
    Mais en general il ne devrait pas en avori beaucoup...

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    J'ai dû mal m'exprimer. J'ai effectivement configuré mon éditeur pour retirer ces espaces gênants. Je n'ai pas configuré l'éditeur pour qu'il les retire automatiquement mais pour qu'il le fasse lorsque je lui demande explicitement (via une commande). Je n'ai donc pas de difficulté pour le faire.

    Pour ce qui est de la philosophie ("est-il utile de le faire", "est-ce nécessaire", etc.) : je sais bien que non mais je préfère avoir des codes sources propres... Tout simplement. Il est inutile d'indenter son code si on va dans cette voie... Mais je préfère également

    Ma question est plutôt : est-il impactant de le faire ? Existe-t-il un cas de figure, dans un source C, où les espaces de fin de ligne importent ? Il me semble que non mais j'ai peur de provoquer un bug dans l'application qu'il me faudra retrouver ensuite.

    Pour te répondre ailonn : si, il y en a énormément dans l'application sur laquelle je travaille. Les sources sont pour la plupart assez peu entretenus :
    - ^M en fin de ligne, que je retire déjà chaque fois que j'en rencontre
    - code commenté alors que nous utilisons un gestionnaire de version
    - code inutile (des if dans lesquels nous ne rentrerons PLUS JAMAIS)

    Bref, il me tient à cœur d'entretenir le plus possible l'application et je coince sur la question des espaces en fin de ligne. Est-ce que quelqu'un peut confirmer que les espaces de fin de ligne ne seront jamais importants en C ?

    Merci pour votre aide.

  5. #5
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    Ma question est plutôt : est-il impactant de le faire ? Existe-t-il un cas de figure, dans un source C, où les espaces de fin de ligne importent ?
    La réponse est non. Le compilateur utilise des séparateurs distincts (appelés tokens) pour identifier la fin des instructions, donc pas de problèmes de "bug" possible en ajoutant des espaces en fin de ligne.

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Ni en les retirant du coup PRomu@ld ? Car c'est plutôt mon objectif.

    Merci beaucoup pour ton aide.

  7. #7
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    Non, sauf si ceux-ci séparent deux choses qui doivent être séparées (deux mots clés, deux identifiants, ...) mais ça n'est pas ce que tu proposes. Si j'ai bien compris tu veux enlever les espaces qui se situent après le dernier caractère de ta ligne, dans ce cas il n'y a aucun soucis.

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Merci beaucoup pour ta réponse. Cela me suffit.

    J'ai fait un réglage dans mon éditeur pour retirer automatiquement ^M et espaces de fin de ligne. C'est peu de chose mais ça commence par là si on veut nettoyer un peu le code de commit en commit.

    Merci à vous tous.

  9. #9
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 388
    Points : 23 707
    Points
    23 707
    Par défaut
    Moi, je le fais aussi par principe, mais seulement en fin de développement.

    Question de propreté (autrement dit, de goût personnel), mais si on considère qu'il y a toujours en moyenne le même nombre d'espaces en fin de ligne, on peut directement multiplier ce pourcentage par le nombre de ligne du projet, et donc appliquer ce chiffre au « poids » total du code source.

    Il y a toutefois un cas où c'est important : le renvoi à la ligne avec un « \ » comme dernier caractère. L'auto-trim des espaces surnuméraires permet de ne pas s'ennuyer avec. Autrement, c'est un bug un peu pénible à voir du premier coup d'œil sans coloration syntaxique.

  10. #10
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par Obsidian Voir le message
    Il y a toutefois un cas où c'est important : le renvoi à la ligne avec un « \ » comme dernier caractère. L'auto-trim des espaces surnuméraires permet de ne pas s'ennuyer avec. Autrement, c'est un bug un peu pénible à voir du premier coup d'œil sans coloration syntaxique.
    Bonjour Obsidian,

    Je ne comprends pas ce que tu dis. Tu expliques que les espaces en trop après un backslash "de fin de ligne" sont gênants et qu'il est utile de les retirer ou tu dis au contraire qu'on pourrait avoir des soucis en les supprimant ?

    Pour ma part, je ne vois pas en quoi l'une ou l'autre de ces hypothèses serait vérifiée. A ma connaissance, il est même facultatif de mettre un \ mais c'est compris par le compilateur en référence aux langages où il le faut absolument pour finir à la ligne d'en-dessous ?

    Je me trompe ? Merci pour ton intervention.

  11. #11
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 388
    Points : 23 707
    Points
    23 707
    Par défaut
    Bonjour,

    Citation Envoyé par ketmar Voir le message
    Je ne comprends pas ce que tu dis. Tu expliques que les espaces en trop après un backslash "de fin de ligne" sont gênants et qu'il est utile de les retirer ou tu dis au contraire qu'on pourrait avoir des soucis en les supprimant ?
    J'explique simplement qu'un backslash en fin de ligne sert à prolonger celle-ci à la ligne suivante mais que, pour cela, il est nécessaire que ce backslash soit le tout dernier caractère de la ligne et que, donc, s'il y a des espaces en trop — dans ce cas précis — ça peut provoquer un bug qui n'est pas trivial de prime abord.

    Mais c'est un cas très particulier et que l'on finit par repérer assez vite (sinon le programme ne compile pas, ou mal).

    C'était juste une remarque de principe.

  12. #12
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Voilà qui me conforte dans ma décision de retirer les blancs en fin de ligne. Merci pour ton apport à ce sujet.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Espaces en fin de ligne de commentaire Javadoc
    Par sbrisard dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 09/09/2009, 06h26
  2. Lecture d'un fichier et espace de fin de ligne
    Par Toutankharton dans le forum Langage
    Réponses: 3
    Dernier message: 31/05/2009, 07h36
  3. Réponses: 1
    Dernier message: 09/11/2008, 22h32
  4. pb d'espace en fin de ligne bulk insert
    Par zer35 dans le forum MS SQL Server
    Réponses: 0
    Dernier message: 21/05/2008, 14h55
  5. Supprimer les espaces en fin de ligne
    Par papyreno dans le forum Eclipse Java
    Réponses: 8
    Dernier message: 21/02/2008, 22h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo