5 / 5 / 2
Регистрация: 29.08.2012
Сообщений: 46
|
||||||||||||
Целесообразность написания дополнительных скобок или "с чем плюсы вкуснее?"05.03.2016, 23:27. Показов 1620. Ответов 27
Метки нет Все метки)
(
Ну, Вам правильно ответили, но второе условие и так будет исполняться. Т.е. если текст не пустой, то будет срабатывать любое из значений, а не только "12345". Так что делайте так:
PS: для "и" вместо "или" используется && вместо ||
0
|
05.03.2016, 23:27 | |
Ответы с готовыми решениями:
27
WCF Data Services. В чем плюсы? И чем лучше или хуже простого Web-API? Проверить правильность написания круглых скобок
|
Супер-модератор
![]() ![]() ![]() |
||
09.03.2016, 19:55 | ||
0
|
управление сложностью
![]() |
||
09.03.2016, 21:06 | ||
0
|
Супер-модератор
![]() ![]() ![]() |
|||
09.03.2016, 21:15 | |||
0
|
5 / 5 / 2
Регистрация: 29.08.2012
Сообщений: 46
|
||||||||||||
09.03.2016, 21:15 [ТС] | ||||||||||||
0
|
управление сложностью
![]() |
|
09.03.2016, 21:19 | |
0
|
place status here
![]() 3180 / 2209 / 640
Регистрация: 20.07.2013
Сообщений: 5,908
|
|
10.03.2016, 01:53 | |
В скобки условия можно заключать для дальнейшей поддержки кода, вдруг условия поменяются, а с ними и приоритет. Плюс это исключает/сокращает трудноуловимые ошибки - все могут ошибиться.
Также замечал, что, например, некоторые ("авторитетные" в программировании люди) после for () ставят {}, даже если можно без этого обойтись.
1
|
управление сложностью
![]() |
|
10.03.2016, 11:50 | |
0
|
10.03.2016, 16:55 | |||||||
Не по теме: Для меня такой код трудночитаем:
a * b + c * d а можно так: ((a * b) + (c * d)) Только смысл? такая запись понятнее тем, кто только начал изучать действие "умножение" и не уверен, какую операцию нужно выполнять раньше. Это дело привычки. Конечно пиши так, как тебе удобно. Но я уверен, что со временем ты сам придёшь к тому, что запись без лишних скобок удобней.
0
|
Практикантроп
![]() 4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
|
|
10.03.2016, 17:13 | |
По моему тут нет "золотого" решения; я часто избегаю лишней писанины. В явных случаях, - когда мои "недомолвки" подправляет компилятор (или препроцессор) - стараюсь писать короче. Пример - Caption = 12345. Хотя корректнее, наверное, Caption = IntToStr(12345). Но бывает, что за такое пренебрежение точным стилем получаю "подзатыльники" в виде неверного результата. Толкового примера под рукой нет, но в основном это связано со сложными выражениями. И, вроде, по рангу мат.операций должно получиться нужное мне значение, а в результате - получаю не то, пока не "умащу" выражение кучей лишних на мой взгляд круглых скобок. Особенно, если в выражении присутствуют сдвиги, умножения и т.д.
2
|
![]() |
||||||||||||||||
10.03.2016, 21:40 | ||||||||||||||||
Даешь лисп в плюсах!
![]() За ради развлечения можно глянуть потроха dinkumware stl:
1
|
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
|
|||||||
10.03.2016, 22:13 | |||||||
Что-то в приведенных выше примерах не нашел особо громоздких условий в пределах одного оператора if, о которых в этой теме идет речь...
Я к тому, что большинство таких ужасных на взгляд условий можно переписать куда короче и нагляднее. Тут речь уже даже не о скобках...
0
|
![]() |
||
10.03.2016, 22:32 | ||
0
|
![]() ![]() 8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||||
12.03.2016, 17:35 | ||||
хороший ход: решать проблемы настоящего, а не будущего, которое может и не наступить. и потом, код пишется один раз, а потом много много раз читает. избыток скобочек ухудшает читабельность. которая не будет выявлена на первом же прогоне тестов. с чего там плеваться то?
0
|
place status here
![]() 3180 / 2209 / 640
Регистрация: 20.07.2013
Сообщений: 5,908
|
||
13.03.2016, 01:36 | ||
Лишние скобки, считаю, могут помочь в дальнейшей поддержке кода - люди разные бывают, не у всех "основы" запоминаются, как дважды два.
0
|
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
|
|
13.03.2016, 10:11 | |
По мне так "сложное условие" - это уже само по себе явление неверное, его не должно существовать. Ну не бывает в реальном коде вот таких трехэтажных условий. Его разделяют на несколько простых. Иначе как Вы вообще его дебажить будете? Экономия строк в коде еще никогда никому не помогала.
А приведенное в теме сравнение со строками так это вообще что-то с чем-то. Ну не будет такого в практическом коде никогда...
0
|
![]() ![]() 8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||||||||||
13.03.2016, 14:05 | |||||||||||
мой вопрос был: выше вы вещали об ошибках, которые якобы сложно обнаружить. однако, на практике только два варианта: 1. либо оно вообще не скомпилиццо. 2. ошибка в логических выражений - это ошибка бизнес логики. такое не может быть незамеченным. итого: любые подобные ошибки если они и случаются, обнаруживаются на первом же старте это не та вещь, из-за которой стоит заморачиваться. избыток синтаксиса всегда делает код сложнее. Добавлено через 1 минуту
0
|
13.03.2016, 14:05 | |
Помогаю со студенческими работами здесь
20
На чем легче писать игры? плюсы и минусы В чём плюсы и минусы жестких и символьных ссылок? В чем плюсы Map перед обычными объектом В чем плюсы использования автоматически реализуемых свойств? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
![]() |
||||
Angular: Вопросы и ответы на собеседовании
Reangularity 15.06.2025
Готовишься к техническому интервью по Angular? Я собрал самые распространенные вопросы, с которыми сталкиваются разработчики на собеседованиях в этом году. От базовых концепций до продвинутых. . .
|
Архитектура Onion в ASP.NET Core MVC
stackOverflow 15.06.2025
Что такое эта "луковая" архитектура? Термин предложил Джеффри Палермо (Jeffrey Palermo) в 2008 году, и с тех пор подход только набирал обороты. Суть проста - представьте себе лук с его. . .
|
Unity 4D
GameUnited 13.06.2025
Четырехмерное пространство. . . Звучит как что-то из научной фантастики, правда? Однако для меня, как разработчика со стажем в игровой индустрии, четвертое измерение давно перестало быть абстракцией из. . .
|
SSE (Server-Sent Events) в ASP.NET Core и .NET 10
UnmanagedCoder 13.06.2025
Кажется, Microsoft снова подкинула нам интересную фичу в новой версии фреймворка. Работая с превью . NET 10, я наткнулся на нативную поддержку Server-Sent Events (SSE) в ASP. NET Core Minimal APIs. Эта. . .
|
С днём независимости России!
Hrethgir 13.06.2025
Решил побеседовать, с утра праздничного дня, с LM о завоеваниях. То что она написала о народе, представителем которого я являюсь сам сначала возмутило меня, но дальше только смешило. Это чисто. . .
|
Лето вокруг.
kumehtar 13.06.2025
Лето вокруг.
Наполненное бурями и ураганами событий. На фоне магии Жизни, священной и вечной, неумелой рукой человека рисуется панорама душевного непокоя.
Странные серые краски проникают и. . .
|
Популярные LM модели ориентированы на увеличение затрат ресурсов пользователями сгенерированного кода (грязь -заслуги чистоплюев).
Hrethgir 12.06.2025
Вообще обратил внимание, что они генерируют код (впрочем так-же ориентированы разработчики чипов даже), чтобы пользователь их использующий уходил в тот или иной убыток. Это достаточно опытные модели,. . .
|
Топ10 библиотек C для квантовых вычислений
bytestream 12.06.2025
Квантовые вычисления - это та область, где теория встречается с практикой на границе наших знаний о физике. Пока большая часть шума вокруг квантовых компьютеров крутится вокруг языков высокого уровня. . .
|
Dispose и Finalize в C#
stackOverflow 12.06.2025
Работая с C# больше десяти лет, я снова и снова наблюдаю одну и ту же историю: разработчики наивно полагаются на сборщик мусора, как на волшебную палочку, которая решит все проблемы с памятью. Да,. . .
|
Повышаем производительность игры на Unity 6 с GPU Resident Drawer
GameUnited 11.06.2025
Недавно копался в новых фичах Unity 6 и наткнулся на GPU Resident Drawer - штуку, которая заставила меня присвистнуть от удивления. По сути, это внутренний механизм рендеринга, который автоматически. . .
|