|
Синтаксические несуразности C |
|
|
|
May 25 2012, 11:32
|

Универсальный солдатик
     
Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362

|
В условных конструкциях и циклах между оператором и скобками обычно ставят пробел: Код if () ... for () ... В функциях обычно пробел не ставят: Код foo(); Мне показалось это нелогичным. И я уже переправил некоторые свои исходники, добавил пробелы. Как вдруг обнаружилось, что в макрофункции пробел вообще недопустим! Код #define FOO() ... Пришлось возвращаться к отброшенному. Мне это не нравится! Собственно, вот и весь сказ. Вопросов не имею. Кроме одного - а чем вам еще не нравится синтаксис языка C?
|
|
|
|
2 страниц
< 1 2
|
 |
Ответов
(15 - 27)
|
May 27 2012, 09:33
|
.
     
Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753

|
Цитата(aaarrr @ May 27 2012, 14:21)  Единая языковая конструкция. Так лучше? Не поверите, но тогда у меня с пробелом она тоже единая. Как собственно и в выражении a = b + c; никто не подумает, что она отличается от того же, без пробелов. Почему пробел должен менять эту "единость". Цитата(aaarrr @ May 27 2012, 14:21)  Дык я и не рассматриваю это иначе и уж точно не навязываю никому свое мнение. Потому и было написано ИМХО. У ТС изначально некорректно предложение. Там вопрос не в синтаксисе, а в оформлении ака удобстве. Если тексты на Си будут оформляться разнообразно, то что с того? Почему надо что-то запрещать?
Сообщение отредактировал GetSmart - May 27 2012, 09:44
--------------------
Заблуждаться - Ваше законное право :-)
|
|
|
|
|
May 27 2012, 09:39
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(GetSmart @ May 27 2012, 13:33)  Почему пробел должен менять эту "единость". Потому что человек все воспринимает по некоторому шаблону, "разрыв" шаблона ломает и восприятие. Утрированный пример: Код for /* Тут мы напишем десять строк комментариев, которые как-бы ничем не отличаются от пробела */ (x = 0; x < 10; ++x)
|
|
|
|
|
May 27 2012, 09:50
|
.
     
Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753

|
Цитата(aaarrr @ May 27 2012, 14:39)  Утрированный пример: Правильнее - извращённый. Так пишут только извращенцы (разве нет?). Или поделитесь примером такого кода из сети. Речь шла только об одном пробеле между for и скобкой, естественно в одной строке. Этот вариант юзают многие программисты, адекватные и вобщем не дураки. Так зачем их так оскорблять? Может у Вас неправильный шаблон? У меня другие шаблоны - когда рядом с индентификатором впритык скобка - сиё есть функция. Скобка после пробела - сиё выражение в скобках. Обе цельноединые. ----- Давайте ещё обсудим где ставить открывающую фигурную скобку - в следующей строке, на позиции нижестоящей закрывающей, или в конце текущей строки и совсем не на позиции закрывающей. Вот эта тема куда более религиозная.
Сообщение отредактировал GetSmart - May 27 2012, 09:59
--------------------
Заблуждаться - Ваше законное право :-)
|
|
|
|
|
May 27 2012, 10:14
|
.
     
Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753

|
Цитата(aaarrr @ May 27 2012, 15:08)  Только не надо разводить флуд и обсуждение на тему правильно-неправильно. Это ко мне что ли? Моё мнение изначально было, что вариант с пробелом имеет право быть. И только. Если я "защищал" вариант с пробелом, то это не значит, что я критикую вариант без пробела. Соответственно "защищать" вариант критикуемый ТС - не есть флуд.
Сообщение отредактировал GetSmart - May 27 2012, 10:26
--------------------
Заблуждаться - Ваше законное право :-)
|
|
|
|
|
May 27 2012, 13:03
|

Универсальный солдатик
     
Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362

|
Цитата(aaarrr @ May 27 2012, 12:39)  Утрированный пример: Код for /* Тут мы напишем десять строк комментариев, которые как-бы ничем не отличаются от пробела */ (x = 0; x < 10; ++x) По-моему, так писать нельзя. Нельзя разрывать оператор комментариями. Обн. Нет, можно. В книжке вычитал. Для GetSmartНу, пусть называется "оформление" вместо "синтаксиса". Хотя для #define это уже не оформление, а именно синтаксис. Я, кстати, пишу так же, как и Вы. По-крайней мере, в отношении пробелов. И по той же причине.
|
|
|
|
|
May 27 2012, 15:12
|

Частый гость
 
Группа: Свой
Сообщений: 158
Регистрация: 15-10-07
Из: Й-Ола
Пользователь №: 31 376

|
Цитата(andrew_b @ May 27 2012, 18:51)  #if 0 вам в помощь. Можно и так, вот только потом искать #endif без подсветки тяжко.
|
|
|
|
|
May 28 2012, 05:00
|

Беспросветный оптимист
     
Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646

|
Цитата(M_Andrey @ May 27 2012, 18:14)  А меня бесят комментарии типа /*...*/. Иногда надо быстро закомментировать процедуру, ан нет в процедуре кто-то написал 100500 таких комментариев и трындец! Нормальные IDE имеют хоткеи comment/uncomment. Например, в С::В это Shift-Ctrl-C/X. Проверил только что - box снимает без вопросов, а потом ставит нормальный человеческий //
--------------------
Программирование делится на системное и бессистемное. ©Моё :) — а для кого-то БГ — это Bill Gilbert =)
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|