2010-03-31 2 views
1

Каждый раз, когда мне приходится разбивать длинный строковый литерал на две (или более) части, потому что он не вписывается в одну строку, мне нужно решить, разделить ли я текст до или после пространство.Где разбить строковый литерал

Например:

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"; 

Я предпочитаю использовать первый способ, но у меня нет реальной причины для этого. Поэтому мне интересно, есть ли преимущество в пользу одного из них? Я знаю, что эти вопросы, как правило, являются вопросом стиля кодирования, но это не мое намерение. Я только хочу знать, есть ли убедительная причина, почему один из этих двух способов может быть предпочтительным.

+0

Я использую первый способ по понедельникам и пятницам. –

ответ

1

Я предпочитаю второй способ, поскольку немного более очевидно, что вторая и последующие строки являются продолжениями, потому что они начинаются с пробела. Я также выстраиваться первыми двойные кавычки:

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

И я разделил линию где-то около 70 характеров, потому что строки длиннее 80 символов злы.

+0

Я с @JayM, хотя, как указывают другие, это действительно очень субъективно. – sblom

1

Нет никакой технической причины, чтобы предпочесть один над другим. Что касается компилятора, то они заканчиваются как один и тот же строковый литерал.

+0

Да, я знаю. Но есть ли у вас правило, где разделить? Или вы делаете это в случайном месте? – quinmars

+0

@quinmars, полностью зависящий от рассматриваемой строки. Как я уже сказал, нет * технической * причины, поэтому вы можете делать все, что хотите. Если кто-то жалуется, тыкать ему в глаза. –

0

Обычно я использую первый способ. Чисто, потому что я думаю, начиная струнный сегмент пространства выглядит странно:

" in one line"; 

Она сводится к личным предпочтениям (или стандарт кодирования, если ваша работа имеет один, и если он получает этот придирчивый).

Смежные вопросы