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

 
 
> Синтаксические несуразности 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
 
Start new topic
Ответов
Xenia
сообщение May 25 2012, 12:01
Сообщение #2


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(ViKo @ May 25 2012, 15:32) *
В условных конструкциях и циклах между оператором и скобками обычно ставят пробел:
Код
if () ...
for () ...

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

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

Однообразие достигается просто - не ставьте НИГДЕ пробелов между оператором и относящимися к нему скобками, и будет вам щастье. sm.gif Т.е. операторы for(), if(), while(), switch() допускают слитное написание, под стать функциям.
Go to the top of the page
 
+Quote Post
ViKo
сообщение May 25 2012, 12:05
Сообщение #3


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

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



Цитата(Xenia @ May 25 2012, 15:01) *
Однообразие достигается просто...

Нет, на это я пойти не могу! Буду писать, как классики K&R учили. Утирая слезы и сопли. crying.gif
Go to the top of the page
 
+Quote Post
haker_fox
сообщение May 25 2012, 14:40
Сообщение #4


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



QUOTE (ViKo @ May 25 2012, 20:05) *
Нет, на это я пойти не могу! Буду писать, как классики K&R учили. Утирая слезы и сопли. crying.gif

Не всегда следует делать все так, как рекомендуют авторитеты. Необходимо иметь собственное мнение. В противном случае прогресс остановится rolleyes.gif

Мне кажется, что лучше обратить внимание на четкие и грамотные комментарии, чем на форматирование текста... Хотя и оно играет немаловажную роль)


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
ViKo
сообщение May 26 2012, 17:15
Сообщение #5


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

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



Цитата(haker_fox @ May 25 2012, 17:40) *
Не всегда следует делать все так, как рекомендуют авторитеты. Необходимо иметь собственное мнение. В противном случае прогресс остановится rolleyes.gif

Мне кажется, что лучше обратить внимание на четкие и грамотные комментарии, чем на форматирование текста... Хотя и оно играет немаловажную роль)

С комментариями у меня все в порядке. Да и со стилем написания тоже. Так, несколько моментов душу бередят.
Например, когда использовать /* ... */, а когда //. Делать ли пробелы в операторе for (i = a + b, i < 100, i = i + 10).
Go to the top of the page
 
+Quote Post
aaarrr
сообщение May 26 2012, 17:19
Сообщение #6


Гуру
******

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



Цитата(ViKo @ May 26 2012, 21:15) *
Например, когда использовать /* ... */, а когда //.

// лучше избегать в #define - некоторые препроцессоры таких вольностей не любят.

Цитата(ViKo @ May 26 2012, 21:15) *
Делать ли пробелы в операторе for (i = a + b, i < 100, i = i + 10).

ИМХО, делать, но только не перед скобками.
Go to the top of the page
 
+Quote Post
GetSmart
сообщение May 27 2012, 04:46
Сообщение #7


.
******

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



Цитата(aaarrr @ May 26 2012, 22:19) *
ИМХО, делать, но только не перед скобками.

А чего так?
Я ставлю, и для меня это лишний быстрый признак, что сиё не функция.

Цитата(ViKo @ May 25 2012, 16:32) *
Мне показалось это нелогичным.

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


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


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

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



Цитата(GetSmart @ May 27 2012, 07:46) *
Не пойму, что конкретно нелогичное? Дайте плиз ссыль на описание этой нелогичности. Из ветки неясно.

Хочу, чтобы мое желание писать грамотно по-русски не вступало в противоречия с правилами синтаксиса C.
http://ru.wikipedia.org/wiki/%D0%9F%D1%80%...%B1%D0%B5%D0%BB
Цитата
Правила постановки пробела рядом со знаками препинания
1. В русскоязычном наборе пробел ставится:
...
с внешней стороны скобок и кавычек;
...


Цитата(=AK= @ May 27 2012, 09:52) *
У него БНФ ненормально распухшая, этим все сказано.

Сказано недостаточно, растолкуйте. Я знаю только Белорусский Народный Фронт, да и то, скорее, усохший, чем распухший.
Go to the top of the page
 
+Quote Post
=AK=
сообщение May 27 2012, 09:16
Сообщение #9


pontificator
******

Группа: Свой
Сообщений: 3 055
Регистрация: 8-02-05
Из: страны Оз
Пользователь №: 2 483



Цитата(ViKo @ May 27 2012, 16:45) *
Сказано недостаточно, растолкуйте.

Форма Бэкуса-Наура используется для формального описания синтаксиса языков программирования. Простые и логичные языки, такие как Форт, Паскаль, Модула и пр., имеют краткую БНФ, в результате их легко осваивать и не возникает путаницы и непоняток при использовании. Языки типа С, PL1 и т.п. имеют сложную БНФ поскольку их синтаксис не очень последователен и логичен, в нем много "информационного шума".
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- ViKo   Синтаксические несуразности C   May 25 2012, 11:32
||- - GetSmart   Цитата(ViKo @ May 27 2012, 12:15) Хочу, ч...   May 27 2012, 08:35
|- - aaarrr   Цитата(GetSmart @ May 27 2012, 08:46) А ч...   May 27 2012, 08:45
|- - GetSmart   Цитата(aaarrr @ May 27 2012, 13:45) ...ка...   May 27 2012, 09:00
|- - aaarrr   Цитата(GetSmart @ May 27 2012, 13:00) Не ...   May 27 2012, 09:21
|- - GetSmart   Цитата(aaarrr @ May 27 2012, 14:21) Едина...   May 27 2012, 09:33
|- - aaarrr   Цитата(GetSmart @ May 27 2012, 13:33) Поч...   May 27 2012, 09:39
|- - GetSmart   Цитата(aaarrr @ May 27 2012, 14:39) Утрир...   May 27 2012, 09:50
||- - aaarrr   Цитата(GetSmart @ May 27 2012, 13:50) Так...   May 27 2012, 09:53
||- - GetSmart   Цитата(aaarrr @ May 27 2012, 14:53) Приех...   May 27 2012, 10:02
|- - ViKo   Цитата(aaarrr @ May 27 2012, 12:39) Утрир...   May 27 2012, 13:03
|- - M_Andrey   А меня бесят комментарии типа /*...*/. Иногда надо...   May 27 2012, 14:14
|- - andrew_b   Цитата(M_Andrey @ May 27 2012, 18:14) А м...   May 27 2012, 14:51
||- - M_Andrey   Цитата(andrew_b @ May 27 2012, 18:51) #if...   May 27 2012, 15:12
|- - MrYuran   Цитата(M_Andrey @ May 27 2012, 18:14) А м...   May 28 2012, 05:00
- - MrYuran   Цитата(ViKo @ May 25 2012, 15:32) И я уже...   May 25 2012, 12:02
- - ReAl   КодОдно маленькое замечание: это не отно...   May 25 2012, 13:43
- - =AK=   Цитата(ViKo @ May 25 2012, 21:02) чем вам...   May 27 2012, 06:52
- - aaarrr   Цитата(GetSmart @ May 27 2012, 13:50) Мож...   May 27 2012, 10:08
- - GetSmart   Цитата(aaarrr @ May 27 2012, 15:08) Тольк...   May 27 2012, 10:14


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

 


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


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