5 / 5 / 2
Регистрация: 29.08.2012
Сообщений: 46
|
||||||||||||
1 | ||||||||||||
Целесообразность написания дополнительных скобок или "с чем плюсы вкуснее?"05.03.2016, 23:27. Показов 1370. Ответов 27
Метки нет (Все метки)
Ну, Вам правильно ответили, но второе условие и так будет исполняться. Т.е. если текст не пустой, то будет срабатывать любое из значений, а не только "12345". Так что делайте так:
PS: для "и" вместо "или" используется && вместо ||
0
|
05.03.2016, 23:27 | |
Ответы с готовыми решениями:
27
WCF Data Services. В чем плюсы? И чем лучше или хуже простого Web-API? Проверить правильность написания круглых скобок Необходимо проверить расстановок скобок на правильность написания В чем плюсы лямбд? |
1702 / 898 / 207
Регистрация: 25.11.2009
Сообщений: 1,847
|
|
09.03.2016, 19:45 | 2 |
только со скобками беда. На три открывающие приходится четыре закрывающих. При том, что нужна всего-то одна пара, обрамляющая всё условие целиком.
0
|
5 / 5 / 2
Регистрация: 29.08.2012
Сообщений: 46
|
|
09.03.2016, 21:02 [ТС] | 4 |
Ой, да ладно! ))) Одна закрывающая после "Edit9 -> Text" лишняя... Очепятка... А операции беру в скобки, потому что так удобнее и читабельнее!
0
|
управление сложностью
|
|
09.03.2016, 21:06 | 5 |
Ошибочно так полагать. По той простой причине - скобки нужны для логики работы программы, т.е. для приоритетов исполнения, а не для того, что это удобно или читабельно.
0
|
5 / 5 / 2
Регистрация: 29.08.2012
Сообщений: 46
|
|||||||||||
09.03.2016, 21:15 [ТС] | 7 | ||||||||||
В смысле? Ну, при отладке программы при раздуплении строки
0
|
случайный прохожий
2935 / 1951 / 606
Регистрация: 20.07.2013
Сообщений: 5,159
|
|
10.03.2016, 01:53 | 9 |
В скобки условия можно заключать для дальнейшей поддержки кода, вдруг условия поменяются, а с ними и приоритет. Плюс это исключает/сокращает трудноуловимые ошибки - все могут ошибиться.
Также замечал, что, например, некоторые ("авторитетные" в программировании люди) после for () ставят {}, даже если можно без этого обойтись.
1
|
Lelik-pahan
|
|||||
10.03.2016, 16:55
#11
|
|||||
Не по теме: Для меня такой код трудночитаем:
a * b + c * d а можно так: ((a * b) + (c * d)) Только смысл? такая запись понятнее тем, кто только начал изучать действие "умножение" и не уверен, какую операцию нужно выполнять раньше. Это дело привычки. Конечно пиши так, как тебе удобно. Но я уверен, что со временем ты сам придёшь к тому, что запись без лишних скобок удобней.
0
|
Практикантроп
4826 / 2718 / 526
Регистрация: 23.09.2011
Сообщений: 5,777
|
|
10.03.2016, 17:13 | 12 |
По моему тут нет "золотого" решения; я часто избегаю лишней писанины. В явных случаях, - когда мои "недомолвки" подправляет компилятор (или препроцессор) - стараюсь писать короче. Пример - Caption = 12345. Хотя корректнее, наверное, Caption = IntToStr(12345). Но бывает, что за такое пренебрежение точным стилем получаю "подзатыльники" в виде неверного результата. Толкового примера под рукой нет, но в основном это связано со сложными выражениями. И, вроде, по рангу мат.операций должно получиться нужное мне значение, а в результате - получаю не то, пока не "умащу" выражение кучей лишних на мой взгляд круглых скобок. Особенно, если в выражении присутствуют сдвиги, умножения и т.д.
2
|
10.03.2016, 21:40 | 13 | |||||||||||||||
Даешь лисп в плюсах!
За ради развлечения можно глянуть потроха dinkumware stl:
1
|
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
|
||||||
10.03.2016, 22:13 | 14 | |||||
Что-то в приведенных выше примерах не нашел особо громоздких условий в пределах одного оператора if, о которых в этой теме идет речь...
Если приводите примеры - то хотя бы приводите реальные. Оба условия можно просто заменить на
Я к тому, что большинство таких ужасных на взгляд условий можно переписать куда короче и нагляднее. Тут речь уже даже не о скобках...
0
|
1702 / 898 / 207
Регистрация: 25.11.2009
Сообщений: 1,847
|
|
11.03.2016, 09:37 | 16 |
Посмотри внимательно на второй пример. Когда я его писал, я убрал лишние скобки, лишние пробелы и в двух случаях заменил Edit9 на Edit8, так что его нельзя заменить на if (false)
0
|
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
12.03.2016, 17:35 | 17 |
плохой ход.
хороший ход: решать проблемы настоящего, а не будущего, которое может и не наступить. и потом, код пишется один раз, а потом много много раз читает. избыток скобочек ухудшает читабельность. приведите пример ошибки, которая не будет выявлена на первом же прогоне тестов. вполне себе годный код. с чего там плеваться то?
0
|
случайный прохожий
2935 / 1951 / 606
Регистрация: 20.07.2013
Сообщений: 5,159
|
|
13.03.2016, 01:36 | 18 |
Лишние скобки, считаю, могут помочь в дальнейшей поддержке кода - люди разные бывают, не у всех "основы" запоминаются, как дважды два.
0
|
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
|
|
13.03.2016, 10:11 | 19 |
По мне так "сложное условие" - это уже само по себе явление неверное, его не должно существовать. Ну не бывает в реальном коде вот таких трехэтажных условий. Его разделяют на несколько простых. Иначе как Вы вообще его дебажить будете? Экономия строк в коде еще никогда никому не помогала.
А приведенное в теме сравнение со строками так это вообще что-то с чем-то. Ну не будет такого в практическом коде никогда...
0
|
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||||||
13.03.2016, 14:05 | 20 | |||||
это не есть ответ на мой вопрос.
мой вопрос был: выше вы вещали об ошибках, которые якобы сложно обнаружить. однако, на практике только два варианта: 1. либо оно вообще не скомпилиццо. 2. ошибка в логических выражений - это ошибка бизнес логики. такое не может быть незамеченным. итого: любые подобные ошибки если они и случаются, обнаруживаются на первом же старте это не та вещь, из-за которой стоит заморачиваться. чем проще код - тем лучше он читается людьми независимо от квалификации. избыток синтаксиса всегда делает код сложнее. Добавлено через 1 минуту ещё как бывают. разделите пожалуйста на примере следующего кода:
0
|
13.03.2016, 14:05 | |
13.03.2016, 14:05 | |
Помогаю со студенческими работами здесь
20
На чем легче писать игры? плюсы и минусы В чём плюсы и минусы жестких и символьных ссылок? В чем плюсы Map перед обычными объектом В чем плюсы использования автоматически реализуемых свойств? Разработка мобильного приложения на Delphi XE - в чем плюсы и минусы? Выбор IDE. Кому в чем больше нравиться работать, плюсы и минусы? В чем разница между сетевым мостом и NAT, какие плюсы и минусы? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |