![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Platon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1801 Регистрация: 25.4.2006 Репутация: 16 Всего: 40 |
А я против макросов! На мой вгляд, они испортят изящность и полноту кода. Лично я решил эту проблему с помощью IDE.
|
|||
|
||||
| w1nd |
|
|||
![]() Вертилятор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 22.3.2006 Где: Москва Репутация: 20 Всего: 54 |
Почему? Я вижу только удобства. Тем более, благодаря особенностям java, макросы получились бы только локальные (в пределах одного java-файла). Расскажите, как. Это сообщение отредактировал(а) w1nd - 20.3.2008, 23:46 -------------------- ![]() ![]() |
|||
|
||||
| check |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 610 Регистрация: 3.4.2006 Репутация: 2 Всего: 23 |
||||
|
||||
| w1nd |
|
|||
![]() Вертилятор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 22.3.2006 Где: Москва Репутация: 20 Всего: 54 |
Язык Java создавался таким, чтобы быть понятным и лёгким в освоении для любого новичка. Параметры по умолчанию были признаны одной из возможностей, которые слишком усложнят язык. Кстати, наличие возможности перегружать методы делает необходимость в параметрах по умолчанию весьма сомнительной. Это сообщение отредактировал(а) w1nd - 21.3.2008, 02:13 -------------------- ![]() ![]() |
|||
|
||||
| Platon |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1801 Регистрация: 25.4.2006 Репутация: 16 Всего: 40 |
В IDEA есть Live Templates, так вот с их помощью можно ваш пример записать в шаблон
Его смысловую часть
теперь можно писать "swingInvokeLater<Tab>", шаблон развернется. Вообще здесь есть несколько фишек для переменных $ARRAY, $METHOD, $CLASS, ... и много прочих любопытных переменных. ЗЫ. Я не спорю, что IDE не дает полной свободы от нее, но я думаю в любой мировой IDE такие шаблоны присутствуют. Добавлено через 2 минуты и 46 секунд
Неправда, бывают случаи, когда мы просто по цепочке вызываем методы с большим количеством параметров, при этом добавляемые параметры - это некие константы, в таком случае я был бы не против записать все эти методы в 1 с парамерами по умолчанию. |
||||||
|
|||||||
| check |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 610 Регистрация: 3.4.2006 Репутация: 2 Всего: 23 |
Насчёт простоты согласен, перегрузка методов вместо параметров по-умолчанию часто делает код легче для чтения, но уж очень много букв(при том ещё одних и тех же). Но мотив, по которому эту фичу не включили в Java, понятен - одна из потенциальных возможностей запутать код. |
|||
|
||||
| w1nd |
|
|||
![]() Вертилятор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 22.3.2006 Где: Москва Репутация: 20 Всего: 54 |
А, вот как. Нет, это не то. Мне не мешает жить необходимость нарисовать эту конструкцию, мне мешает жить её наличие. Получается "дырявый", громоздкий код. А при вызове-то где разница? Мы вообще об одном и том же говорим? -------------------- ![]() ![]() |
|||
|
||||
| Platon |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1801 Регистрация: 25.4.2006 Репутация: 16 Всего: 40 |
Нууу, тут уж аргумент только в том, что хитрые программисты будут пользовать макросы архи неправильно, например, вы представляете себе циклы: for (int i = 0; i < a.length; i++) будет fi(i, a) {} может быть это и компактней и быстрей, но сразу то въехать в такой код слодновато будет, у каждого программиста свой набор макросов. Вот пример:
А вот где можно было бы и подсократить
|
||||||
|
|||||||
![]()
|
| Правила форума "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. |