реклама на сайте
подробности

 
 
> Синтаксические несуразности C
ViKo
сообщение May 25 2012, 11:32
Сообщение #1


Универсальный солдатик
******

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



В условных конструкциях и циклах между оператором и скобками обычно ставят пробел:
Код
if () ...
for () ...

В функциях обычно пробел не ставят:
Код
foo();

Мне показалось это нелогичным. И я уже переправил некоторые свои исходники, добавил пробелы. Как вдруг обнаружилось, что в макрофункции пробел вообще недопустим!
Код
#define FOO() ...

Пришлось возвращаться к отброшенному.
Мне это не нравится!
Собственно, вот и весь сказ. Вопросов не имею. Кроме одного - а чем вам еще не нравится синтаксис языка C?
Go to the top of the page
 
+Quote Post
2 страниц V  < 1 2  
Start new topic
Ответов (15 - 27)
aaarrr
сообщение May 27 2012, 09:21
Сообщение #16


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(GetSmart @ May 27 2012, 13:00) *
Не совсем ясная формулировка.

Единая языковая конструкция. Так лучше?

Цитата(GetSmart @ May 27 2012, 13:00) *
Но не думаю, что в ней есть что-то большее, чем удобство конкретного кодописателя (читателя). Другому с пробелом будет более удобно для понимания и это его полное право. Разрешены два (и даже более) варианта. А какой лучше в целом выявит разве что статистика, да и то, только в сугубо показательном виде. Но никак не в указательном. А то так и до расизма недалеко sm.gif

Дык я и не рассматриваю это иначе и уж точно не навязываю никому свое мнение. Потому и было написано ИМХО.
Go to the top of the page
 
+Quote Post
GetSmart
сообщение May 27 2012, 09:33
Сообщение #17


.
******

Группа: Участник
Сообщений: 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


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
aaarrr
сообщение May 27 2012, 09:39
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(GetSmart @ May 27 2012, 13:33) *
Почему пробел должен менять эту "единость".

Потому что человек все воспринимает по некоторому шаблону, "разрыв" шаблона ломает и восприятие.

Утрированный пример:
Код
for
/* Тут мы напишем
десять строк комментариев,
которые как-бы ничем
не отличаются от
пробела */
    (x = 0; x < 10; ++x)
Go to the top of the page
 
+Quote Post
GetSmart
сообщение May 27 2012, 09:50
Сообщение #19


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(aaarrr @ May 27 2012, 14:39) *
Утрированный пример:

Правильнее - извращённый. Так пишут только извращенцы (разве нет?). Или поделитесь примером такого кода из сети.
Речь шла только об одном пробеле между for и скобкой, естественно в одной строке. Этот вариант юзают многие программисты, адекватные и вобщем не дураки. Так зачем их так оскорблять?

Может у Вас неправильный шаблон? У меня другие шаблоны - когда рядом с индентификатором впритык скобка - сиё есть функция. Скобка после пробела - сиё выражение в скобках. Обе цельноединые.

-----
Давайте ещё обсудим где ставить открывающую фигурную скобку - в следующей строке, на позиции нижестоящей закрывающей, или в конце текущей строки и совсем не на позиции закрывающей. Вот эта тема куда более религиозная.

Сообщение отредактировал GetSmart - May 27 2012, 09:59


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
aaarrr
сообщение May 27 2012, 09:53
Сообщение #20


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(GetSmart @ May 27 2012, 13:50) *
Так зачем их так оскорблять?

Приехали. Кто ж их оскорбляет?
Go to the top of the page
 
+Quote Post
GetSmart
сообщение May 27 2012, 10:02
Сообщение #21


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(aaarrr @ May 27 2012, 14:53) *
Приехали. Кто ж их оскорбляет?

sm.gif
Оскорбили передёргивая. Написав, что пробел между for и скобкой равноценен той билиберде. Точнее, можно интерпретировать за ту билеберду (типа если есть желание). Тем более что подтвердить ссылкой не удосужились. Иначе это могло и не быть передёргиванием.

Сообщение отредактировал GetSmart - May 27 2012, 10:05


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
aaarrr
сообщение May 27 2012, 10:08
Сообщение #22


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(GetSmart @ May 27 2012, 13:50) *
Может у Вас неправильный шаблон? У меня другие шаблоны - когда рядом с индентификатором впритык скобка - сиё есть функция. Скобка после пробела - сиё выражение в скобках. Обе цельноединые.

Еще раз повторяю для особо непонятливых: сие есть мое персональное мнение. У Вас другое - да пожалуйста.
Только не надо разводить флуд и обсуждение на тему правильно-неправильно.
Go to the top of the page
 
+Quote Post
GetSmart
сообщение May 27 2012, 10:14
Сообщение #23


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(aaarrr @ May 27 2012, 15:08) *
Только не надо разводить флуд и обсуждение на тему правильно-неправильно.

Это ко мне что ли?
Моё мнение изначально было, что вариант с пробелом имеет право быть. И только.
Если я "защищал" вариант с пробелом, то это не значит, что я критикую вариант без пробела.
Соответственно "защищать" вариант критикуемый ТС - не есть флуд.

Сообщение отредактировал GetSmart - May 27 2012, 10:26


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
ViKo
сообщение May 27 2012, 13:03
Сообщение #24


Универсальный солдатик
******

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



Цитата(aaarrr @ May 27 2012, 12:39) *
Утрированный пример:
Код
for
/* Тут мы напишем
десять строк комментариев,
которые как-бы ничем
не отличаются от
пробела */
    (x = 0; x < 10; ++x)

По-моему, так писать нельзя. Нельзя разрывать оператор комментариями.
Обн. Нет, можно. В книжке вычитал.

Для GetSmart
Ну, пусть называется "оформление" вместо "синтаксиса". Хотя для #define это уже не оформление, а именно синтаксис.
Я, кстати, пишу так же, как и Вы. По-крайней мере, в отношении пробелов. И по той же причине.
Go to the top of the page
 
+Quote Post
M_Andrey
сообщение May 27 2012, 14:14
Сообщение #25


Частый гость
**

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



А меня бесят комментарии типа /*...*/. Иногда надо быстро закомментировать процедуру, ан нет в процедуре кто-то написал 100500 таких комментариев и трындец!
Go to the top of the page
 
+Quote Post
andrew_b
сообщение May 27 2012, 14:51
Сообщение #26


Профессионал
*****

Группа: Свой
Сообщений: 1 975
Регистрация: 30-12-04
Из: Воронеж
Пользователь №: 1 757



Цитата(M_Andrey @ May 27 2012, 18:14) *
А меня бесят комментарии типа /*...*/. Иногда надо быстро закомментировать процедуру, ан нет в процедуре кто-то написал 100500 таких комментариев и трындец!
#if 0 вам в помощь.
Go to the top of the page
 
+Quote Post
M_Andrey
сообщение May 27 2012, 15:12
Сообщение #27


Частый гость
**

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



Цитата(andrew_b @ May 27 2012, 18:51) *
#if 0 вам в помощь.


Можно и так, вот только потом искать #endif без подсветки тяжко.
Go to the top of the page
 
+Quote Post
MrYuran
сообщение May 28 2012, 05:00
Сообщение #28


Беспросветный оптимист
******

Группа: Свой
Сообщений: 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 =)
Go to the top of the page
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 14:17
Рейтинг@Mail.ru


Страница сгенерированна за 0.01483 секунд с 7
ELECTRONIX ©2004-2016