VD>Поясни, плиз, сокраментальную идею постановки скобок во втором выражении.
Не первый раз замечаю от тебя, Влад, такое вот "ироническое" замечание на тему "лишних" скобок.
А между тем скобки тут совершенно оправданы — существенно повышают читаемость выражения.
И первый операнд тернарного оператора, если это какое-то выражение более сложное, чем просто имя переменной, тоже рекомендовал бы заключать в скобки.
Здравствуйте, <Аноним>, Вы писали:
А>Не первый раз замечаю от тебя, Влад, такое вот "ироническое" замечание на тему "лишних" скобок.
Правильно, так как лишнее есть лишнее.
А>А между тем скобки тут совершенно оправданы — существенно повышают читаемость выражения.
Ничего они не повышают. Чем больше незначимых сущьностей на экране, тем соложнее воспринять код.
А>И первый операнд тернарного оператора, если это какое-то выражение более сложное, чем просто имя переменной, тоже рекомендовал бы заключать в скобки.
Видимо для весомости рекомендации она дается из под анонима.
Я вот не рекомендовал бы засовывать скобки без особой на то необходимости. Это дело такое. Стоит начать и потом весь код будет в скобках. Что-то вроде:
if ((((a - b) + c) == 0) && (x > y))
...
это куда хуже читается чем:
if (a - b + c == 0 && x > y)
...
А появляются такие перлы из-за нежелания учить приоритеты операторов.
... << RSDN@Home 1.2.0 alpha rev. 618>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
А>>А между тем скобки тут совершенно оправданы — существенно повышают читаемость выражения. VD>Ничего они не повышают. Чем больше незначимых сущьностей на экране, тем соложнее воспринять код.
Зато правильна расстановка скобок позволяет дать новичку правильную логическую группировку, чтобы он не задавал потом вопросов.
А>>И первый операнд тернарного оператора, если это какое-то выражение более сложное, чем просто имя переменной, тоже рекомендовал бы заключать в скобки. VD>Видимо для весомости рекомендации она дается из под анонима.
Честно говоря, я не знаком с этим анонимом. Что касается меня, то я всегда подписываюсь своим именем (разве rsdn@home позволяет выборочно работать под анонимом?).
А в общем, я согласен с анонимом, но опять же с точки зрения логического выделения.
VD>Я вот не рекомендовал бы засовывать скобки без особой на то необходимости. Это дело такое. Стоит начать и потом весь код будет в скобках. Что-то вроде:
if ((((a - b) + c) == 0) && (x > y))
...
Ну это уже слишком
VD>это куда хуже читается чем:
if (a - b + c == 0 && x > y)
...
Зависит от уровня подготовки.
VD>А появляются такие перлы из-за нежелания учить приоритеты операторов.
Опять же, имея знания, человек не стал бы задавать subj. Если появился такой вопрос, то и объяснить ему надо попроще.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Now playing:
Здравствуйте, stasukas, Вы писали:
S>Зато правильна расстановка скобок позволяет дать новичку правильную логическую группировку, чтобы он не задавал потом вопросов.
Лучше пусть он пару раз вопросы задаст. А еще лучше в хелп залезет.
S>Честно говоря, я не знаком с этим анонимом. Что касается меня, то я всегда подписываюсь своим именем (разве rsdn@home позволяет выборочно работать под анонимом?).
Нет.
S>Зависит от уровня подготовки.
Вообще-то это соотвествует общепринятым (по жизни) соглашениям. Я согласен, что в сообо мудреных случаях можно поставить лишнюю скобку. Но данный пример просто демонстрирует бессмысленную перестраховку.
VD>>А появляются такие перлы из-за нежелания учить приоритеты операторов. S>Опять же, имея знания, человек не стал бы задавать subj. Если появился такой вопрос, то и объяснить ему надо попроще.
Ну, вот пусть и добирает знания. А лишний раз намекнуть на бессмысленность скобок не грех.
... << RSDN@Home 1.2.0 alpha rev. 618>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: Как из DWORD получить Boolean?
От:
Аноним
Дата:
25.10.05 10:36
Оценка:
Вы, наверное милый человек, не пишите не на чем кроме С# (а вы попишите для разнообразия на разл. языках в небольшой промежуток времени, попрыгайте на граблях разл. приоритета операций в разн. языках, и тоже начнете ставить скобочки)
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, stasukas, Вы писали:
S>>Зато правильна расстановка скобок позволяет дать новичку правильную логическую группировку, чтобы он не задавал потом вопросов.
VD>Лучше пусть он пару раз вопросы задаст. А еще лучше в хелп залезет.
S>>Честно говоря, я не знаком с этим анонимом. Что касается меня, то я всегда подписываюсь своим именем (разве rsdn@home позволяет выборочно работать под анонимом?).
VD>Нет.
S>>Зависит от уровня подготовки.
VD>Вообще-то это соотвествует общепринятым (по жизни) соглашениям. Я согласен, что в сообо мудреных случаях можно поставить лишнюю скобку. Но данный пример просто демонстрирует бессмысленную перестраховку.
VD>>>А появляются такие перлы из-за нежелания учить приоритеты операторов. S>>Опять же, имея знания, человек не стал бы задавать subj. Если появился такой вопрос, то и объяснить ему надо попроще.
VD>Ну, вот пусть и добирает знания. А лишний раз намекнуть на бессмысленность скобок не грех.
Здравствуйте, <Аноним>, Вы писали:
А>Вы, наверное милый человек, не пишите не на чем кроме С# (а вы попишите для разнообразия на разл. языках в небольшой промежуток времени, попрыгайте на граблях разл. приоритета операций в разн. языках, и тоже начнете ставить скобочки)
Я писал на очень большом количестве языков. И проблем с этим не испытвал. С-подобные языки имеют очень близнкий набор приоритетов операторов. Языки вроде Паскаля и васика действительно требуют кучи скобок. Но это уже их особенность.
... << RSDN@Home 1.2.0 alpha rev. 618>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
VD>Поясни, плиз, сокраментальную идею постановки скобок во втором выражении.
S>> int i = 1;
S>> bool b = i != 0;
Вот так в центре второго выражения (именно при чтении!) находится "i", а всё остальное — по краям, что читабильности не повышает, тем более при беглом осмотре. В версии без скобок, когда все знаки "как бы" сами по себе, мне не тяжело заставить себя отвести взгляд немного правее и досмотреть, что же мы такое получаем
В оригинальном же варианте в середине — знак равенства по одну сторону от которого — объявление переменной, а по другую — выражение, значение которого мы в эту переменную записываем.