Заблокирован
|
||||||||||||||||
1 | ||||||||||||||||
Как можно сжать данный код, вызов функции?05.03.2016, 13:39. Показов 1040. Ответов 13
Метки нет (Все метки)
0
|
05.03.2016, 13:39 | |
Ответы с готовыми решениями:
13
Можно ли узнать имя функции, код которой исполняется в данный момент времени? Как можно сократить данный код? Как можно оптимизировать данный код? Как можно оптимизировать (уменьшить) данный код? |
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
|
05.03.2016, 13:42 | 2 |
0
|
Hello Kitty
|
||||||
05.03.2016, 13:42 | 3 | |||||
Сообщение было отмечено poss как решение
Решение
1
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
||||||
05.03.2016, 13:44 | 4 | |||||
1
|
5753 / 4133 / 1507
Регистрация: 06.01.2011
Сообщений: 11,276
|
|||||||||||
05.03.2016, 14:37 | 7 | ||||||||||
Что-то я сомневаюсь в правильности подхода. Что вообще делают те методы и почему их именно так именуете?
В любом случае, такие проверки лучше не делать:
1
|
05.03.2016, 15:02 | 8 |
Не по теме: Я всегда пытаюсь мыслить глобально, но нехватка знаний иногда мешает этому, а так отличное решение :good: Добавлено через 5 минут Para bellum, Но опять же, в нем не учитывается проверка: $get['q'] == 2; $get['q'] == 3; $get['q'] == 4; в частности может надо что то другое сделать когда $get['q'] выходит за рамки интервала, конечно это мало вероятно, но все же имеет быть место.
0
|
5753 / 4133 / 1507
Регистрация: 06.01.2011
Сообщений: 11,276
|
|
05.03.2016, 15:12 | 9 |
Да, Вы правы. Только это
действительно маловероятно, а вот если в объекте "$this->functions" содержатся ещё методы, к которым доступ через указание в "$get['q']" не предполагается — мой вариант действительно не подходит. Поэтому я и спросил у автора темы: Добавлено через 43 секунды Чувствую, что не то что-то он творит.
0
|
05.03.2016, 15:27 | 10 | |||||
Все подходит, что мешает сделать это:
0
|
5753 / 4133 / 1507
Регистрация: 06.01.2011
Сообщений: 11,276
|
|
05.03.2016, 15:36 | 11 |
Тогда там моя проверка вообще не нужна. В итоге приходим назад, к Вашему варианту.
Допустим, есть метод "questionFoo". Мою проверку $get['q'] равное "Foo" пройдёт. А вот Вашу — нет, ибо в диапазон не вписывается. В таком случае не получится перехватить ошибку. Эти всякие "throw" и нужны, чтобы держать под контролем приложение. Чтобы можно было потом в отчёт записать, что метод неверный вызван и т.д. и т.п.
0
|
05.03.2016, 15:53 | 12 | ||||||||||||||||||||
Дак у нас проверка идет на 2,3,4 если нужно Foo, то надо добавить и эту проверку, и тогда будет все гуд: как пример:
Добавлено через 1 минуту даже скорее всего так:
или отдельной строкой:
0
|
5753 / 4133 / 1507
Регистрация: 06.01.2011
Сообщений: 11,276
|
||||||
05.03.2016, 16:03 | 13 | |||||
Да нет, я не о том. Я про это:
Доступ к Foo не нужен. Например, создатель кода не хочет, чтобы был доступ к Foo, но Ваш вариант ничего не выдаст пользователю (или составителю отчётов) — он просто оборвёт работу и всё. А обрывать так не стоит. Лучше бросать исключения, как я показал. Типа такого:
P.S. Но мне подобная проверка не нравится.
0
|
05.03.2016, 19:04 | 14 | |||||||||||||||
Я подумал и увидел, что тут тоже есть "грешки", например что будет если $get['q'] = 3.5 понятное дело, что произойдет вызов метода question3.5(), что не есть гуд, это так то тоже желательно учесть, думаю это дело делать так придется:
0
|
05.03.2016, 19:04 | |
05.03.2016, 19:04 | |
Помогаю со студенческими работами здесь
14
Как можно сократить и упростить данный код Как данный код можно перенести в Silverlight приложение Модернизировать данный код под вызов в интервале 1 мс Можно ли оптимизировать данный код? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |