![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| polosatij |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 22.2.2004 Где: Stuttgart<-> ;Karlsruhe, Germany Репутация: 1 Всего: 8 |
LSD,
это, конечно, хорошо, когда есть магия, однако эта магия никак не задела тему if.. что ты скажешь по этому поводу?
руки для того, что бы писать.. извините, моя ваша не понимать, т.к. ваша говорить абстрактна..
всего-то навсего десяток случаев и всё.. немного не понял, что ты хотел сказать.. увы, такого нет? |
||||
|
|||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Повторю предыдущего оратора: прекрати забивать дрелью гвозди, и закручивать шурупы молотком Есть механизм управления выполнением кода: это условные операторы, циклы и т.п. А есть механизм добавления мета информации к коду. И это два совершенно разных механизма, предназначенные для разных целей. И почему один должен выполнять функции другого - совершенно непонятно. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| polosatij |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 22.2.2004 Где: Stuttgart<-> ;Karlsruhe, Germany Репутация: 1 Всего: 8 |
судя по вашей логике, мне не надо было писать анотации, а нужно было оставить "страшные" и тупо повторяющиеся конкструкции с if-ами или самому писать reflection.. таким образом я описал около 500 тестов за пару недель.. а чем не устраивает такой вариант? вся логика вынесена в setUp и tearDown, анотации помогают мыставить мета данные на запуск и на окончание данной методы.. так что же мешает или что плохого сделать такое на часть кода внутри методы вместо тупо "повторяющихся" if-ов? |
|||
|
||||
| w1nd |
|
|||
![]() Вертилятор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 22.3.2006 Где: Москва Репутация: 20 Всего: 54 |
Позвольте полюбопытствовать - где в вашем примере закодирован if? -------------------- ![]() ![]() |
|||
|
||||
| polosatij |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 22.2.2004 Где: Stuttgart<-> ;Karlsruhe, Germany Репутация: 1 Всего: 8 |
if successful else unsuccessful @TestResult ожидает именно такого результата в стеке от этой методы.. |
|||
|
||||
| w1nd |
|
|||
![]() Вертилятор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 22.3.2006 Где: Москва Репутация: 20 Всего: 54 |
Не вижу что-то. Конструкция if закодирована в tearDown(). Аннотация TestResult - не более, чем статичная метаинформация и ничего нигде не ожидает -------------------- ![]() ![]() |
|||
|
||||
| polosatij |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 22.2.2004 Где: Stuttgart<-> ;Karlsruhe, Germany Репутация: 1 Всего: 8 |
анотация TestResult, как и другая анотация ничего и ожидать не будет.. всё зависит от value стоящей в ней.. это такая же метаинформация, как и в моём первом примере в этом топике.. |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
А мета информацию кто обрабатывает? Просто в данном случае часть кода вынесена в другое место и использует мета информацию в своей работе. Сама аннотация по прежнему ничего не делает. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| Дрон |
|
|||
![]() Java-ненавистник :) ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3179 Регистрация: 29.12.2002 Где: Санкт-Петербург Репутация: 6 Всего: 93 |
Тут налицо явное непонимание
А как выполняются эти тесты? Через reflection загружается список методов с их аннотациями, потом в зависимости от метаданных из аннотаций эти методы специальным образом вызываются. Аннотации то всё равно относятся не к коду метода, а к методу целиком. Как правильно сказал LSD, если ты поставишь аннотацию в произвольном месте, то кто её в этом случае должен обрабатывать? Аннотации -- они не исполняются сами по себе, они только интерпретируются каким-то отдельным обработчиком. Мощность компьютеров (и лень программистов) видимо ещё не дошла до того, чтобы делать вызов произвольного метода некоей отдельной сущностью, к которой можно цеплять и обрабатывать аннотации. -------------------- Да. Именно так. |
|||
|
||||
| polosatij |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 22.2.2004 Где: Stuttgart<-> ;Karlsruhe, Germany Репутация: 1 Всего: 8 |
вот это вот жалко.. не было времени эксперементировать.. ех.. |
|||
|
||||
| Hroft |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 310 Регистрация: 20.10.2003 Где: Москва Репутация: 1 Всего: 3 |
Весь топик выглядит каким-то фарсом, если честно.
В чем заключается проблема, о которой столько понаписали? Хочется альтернативной записи большого количества условий, может быть? Можно закодировать условия в хэши по сравниваемым значениям или даже вычисляемым условиям, хранящие в значениях либо непосредственно инструкции к исполнению, либо вложенные деревья условий, обрабатываемые специальным методом. Те же самые аннотации-метаинформация получается, только без введения каких-то новинок в стандарт. Это не паттерн Command случаем? |
|||
|
||||
| Дрон |
|
||||
![]() Java-ненавистник :) ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3179 Регистрация: 29.12.2002 Где: Санкт-Петербург Репутация: 6 Всего: 93 |
Ну, в некотором роде -- да, только у меня ключевое слово "любого метода" И, кстати, спасибо -- ты упоминанием паттерна подкинул мне идею, как обяъснить всю нелепость вопроса этой темы. Вот исходный пример:
Если автор уж очень хочет делать аннотации к вызовам методов, то в нынешнем синтаксисе Java это выглядело бы как-то так:
Тем самым вызов любого метода получается обёрнут в некий контейнер, к которому можно прицепить аннотации и выполняется этот метод не напрямую, а через соответствующий обработчик. Ужас. Это ж жуть какие накладные расходы. PS: Я не уверен, что в аннотациях можно использовать такие конструкции (вычисляемые во время выполнения). Мне не приходилось с ними плотно работать и есть подозрение, что там можно использовать только константы. Так что может эту задачу вообще нереально решить аннотациями Это сообщение отредактировал(а) Дрон - 1.10.2008, 15:53 -------------------- Да. Именно так. |
||||
|
|||||
| polosatij |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 22.2.2004 Где: Stuttgart<-> ;Karlsruhe, Germany Репутация: 1 Всего: 8 |
Дрон, вот ты намутил мой вопрос был не написать wrapper, это бы я и сам смог.. мой вопрос был, почему "нет" анотаций вместо непрекращающихся if-ов |
|||
|
||||
| fixxer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 672 Регистрация: 14.9.2006 Где: Саратов, Россия Репутация: 6 Всего: 27 |
А кто анотации бы обработал? Я вообще не понимаю о чем спор. Нету такого и хорошо что нет и врятли когда-нибудь будет. А все остальное - это "Вот как бы нос Иван Иваныча да к лицу Иван Никифорыча" (с) Гоголь -------------------- ![]() |
|||
|
||||
| Дрон |
|
|||
![]() Java-ненавистник :) ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3179 Регистрация: 29.12.2002 Где: Санкт-Петербург Репутация: 6 Всего: 93 |
Ты меня совсем не понял. Мой ответ был не о том, как написать обёртку, а о том, что для реализации того, что ты хочешь, каждый вызов любого метода должен быть завёрнут в подобную обёртку (пусть даже и неявно). Угу. На этом объяснения заканчиваю, ибо до цели они не доходят Это сообщение отредактировал(а) Дрон - 2.10.2008, 10:48 -------------------- Да. Именно так. |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |