2010-03-31 11 views
1

Chaque fois que je dois diviser une chaîne littérale longue en deux (ou plusieurs) pièces, parce qu'elle ne tient pas dans une seule ligne, je dois décider si je divise le texte avant ou après un espace.Où diviser un littéral de chaîne

Par exemple:

const char * long_text1 = "This is a long text, which does not fit " 
           "in one line"; 
/* or */ 
const char * long_text2 = "This is a long text, which does not fit" 
           " in one line"; 

je tendance à utiliser la première façon, mais je n'ai pas une vraie raison. Je me demande donc s'il y a un avantage à favoriser l'un d'entre eux? Je sais que ces questions ont tendance à être une question de style de codage, mais ce n'est pas mon intention. Je veux seulement savoir s'il y a une raison convaincante pour laquelle une de ces deux façons pourrait être préférable.

+0

J'utilise la première façon les lundis et vendredis. –

Répondre

1

Je préfère la deuxième façon car il est un peu plus évident que les lignes suivantes sont des suites car elles commencent par un espace. Je également en ligne les premiers guillemets doubles:

const char * long_text2 = "This is a long text," 
          " which does not fit" 
          " in one line"; 

Et je partage la ligne quelque part autour du 70e caractère parce que les lignes de plus de 80 caractères sont mauvais.

+0

Je suis avec @JayM, bien que, comme d'autres le font remarquer, c'est vraiment subjectif. – sblom

1

Il n'y a aucune raison technique de préférer l'un à l'autre. En ce qui concerne le compilateur, ceux-ci se terminent par la même chaîne littérale.

+0

Oui, je sais. Mais avez-vous une règle où diviser? Ou faites-vous cela à un endroit aléatoire? – quinmars

+0

@quinmars, totalement dépendant de la chaîne en question. Comme je l'ai dit, il n'y a pas de raison * technique *, donc vous pouvez faire ce que vous voulez. Si quelqu'un se plaint, piquez-le dans les yeux. –

0

J'utilise généralement la première méthode. Purement parce que je pense à partir d'un segment de chaîne avec un espace fait un peu bizarre:

" in one line"; 

Il vient de préférence personnelle (ou norme de codage, si votre travail a un, et si elle obtient ce pointilleux).