powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Программирование на Java - интересно?
25 сообщений из 357, страница 4 из 15
Программирование на Java - интересно?
    #36141703
VoDA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpashaинтересно каковы аргументы против? не хотят отказываться от кучи скобочек? хотя сейчас уже да поздновато. миллион фреймворков ориентируются на "свойства" в виде геттера и сеттера. введи свойства настоящие и либо это все придется дописывать либо радоваться свойствам строго в своем коде и коде тех кому не западло будет доделать.сложность реализации. Почему то нельзя ввести свойства как "синтаксический сахар", потому нужно дорабатывать API & другие подсистемы.
...
Рейтинг: 0 / 0
Программирование на Java - интересно?
    #36141713
Valery Shiskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К,

Ну вот. Согласитесь, что все таки приятно, скачав JDK увидеть в нем каталог src. Мне приходилось переделывать компонеты Grid в WinForms и соответственно JTable в Java. Так, несмотря на то, что все, что связано с desktop компонентами сделано добротнее в .net, но добиться результата было проще в java и только потому, что под рукой исходники, работу которых можно проследить в дебаггере, например используя Netbeans IDE.
...
Рейтинг: 0 / 0
Программирование на Java - интересно?
    #36141725
Фотография Диез
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpashaДиез
...

Главная проблема, имхо - что делать с checked exceptions; как их объявлять, если геттер или сеттер должны их выбрасывать?хмм...я конечно в яве можно сказать новичек...но геттер кидающий exception это имхо неправильно в принципе. геттер на то и геттер чтоб быть предельно простым даже если он лениво инициализирует переменную. если я обращаюсь к объекту и говорю getProperty() то хапнуть в этом месте исключение - наглость со стороны проектировщика. если реально при ленивой инициализации произошло исключение, пусть мне null вернут и в лог ошибку кинут. хотя возможно (возможно) я не все случаи учитываю. и все же методы со сложной логикой И с икслючениями не должны быть геттерами. они должны быть методами.

Во-во :)
Либо предполагать, что такое может случиться; либо на уровне компилятора ограничивать тело геттера...
С сеттером тоже не все хорошо: если обычное присвоение может выбросить контролируемое исключение, его надо перехватить или пробросить вверх - теряется наглядность свойств.
Думаю разработчики Java посмотрели на список возможных проблем и решили забить :))
...
Рейтинг: 0 / 0
Программирование на Java - интересно?
    #36141732
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpashaво-вторых меня что-то редко тянуло посмотреть как работает ArrayList. чаще всего (ну я по себе сужу) - приходилось смотреть как работают визуальные компоненты. а просты классы либо делают свое дело и тебе ничего от них не нужно, либо справляются неэффективно и ты пишешь что-то свое.Кстати зря. В том же List<T> есть довольно интересные моменты, которые можно учесть при оптимизации. Например в

List<T>..ctor(IEnumerable<T> collection)

и

List<T>.InsertRange(int index, IEnumerable<T> collection) .

Рекомендую, хотя бы ради любопытства.
...
Рейтинг: 0 / 0
Программирование на Java - интересно?
    #36141739
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valery Shiskin... но добиться результата было проще в java и только потому, что под рукой исходники, работу которых можно проследить в дебаггере , например используя Netbeans IDE.Как раз такая возможность в дотнете есть. :-)
...
Рейтинг: 0 / 0
Программирование на Java - интересно?
    #36141740
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valery Shiskinchpasha,
Коды C# опубликовали (а зачем мне компилятор) . А коды библиотек WindowForms, Asp .Net, Ado .net ?
reflector выручал за годы до опубликования кода. как правило хватало просто посмотреть код. даже отладка была не нужна.

Valery Shiskin
Наcчет OutOfMemory - так правильно запускайте java, что бы она имела доступ ко всей куче, как это делает .net. Ну а насчет самолета, так это ни для кого не секрет, что компания Боинг очень активно использует java. Компьютер US марсохода оснащен java ME
так недолго и сервак положить. был реальный случай, скрипт работавший с опенофисом из-за ошибки в коде (не разрывалось соединение со службой по окончании) запустился и не выгрузился n-ое кол-во раз. забило вес мозг, своп и все. пишите письма в суппорт мелким почерком. дебиан умер.

но вообще-то это скорее шутка с моей стороны была, просто с подоплекой ;) . уж слишком аналогия была не корректна. естественно все зависит от программиста. просто в яве опять таки бываешь завязан на кучу третьесторонних фреймворков, качество которых может оказаться посредственным (в нете другая заморочка - фреймворков нужных может просто не оказаться, но мы не об этом). я вот месяц переписывался с автором logback-a. не могли отловить глюк с тем, что rollover лога не происходил. пришлось (мне) лезть в код и находить причину.
...
Рейтинг: 0 / 0
Программирование на Java - интересно?
    #36141748
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VoDAchpashaинтересно каковы аргументы против? не хотят отказываться от кучи скобочек? хотя сейчас уже да поздновато. миллион фреймворков ориентируются на "свойства" в виде геттера и сеттера. введи свойства настоящие и либо это все придется дописывать либо радоваться свойствам строго в своем коде и коде тех кому не западло будет доделать.сложность реализации. Почему то нельзя ввести свойства как "синтаксический сахар", потому нужно дорабатывать API & другие подсистемы.ну как я уже говорил, мне сложно судить о том, чего я в глаза не видел. так что не стану спекулировать.
...
Рейтинг: 0 / 0
Программирование на Java - интересно?
    #36141751
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Кchpashaво-вторых меня что-то редко тянуло посмотреть как работает ArrayList. чаще всего (ну я по себе сужу) - приходилось смотреть как работают визуальные компоненты. а просты классы либо делают свое дело и тебе ничего от них не нужно, либо справляются неэффективно и ты пишешь что-то свое.Кстати зря. В том же List<T> есть довольно интересные моменты, которые можно учесть при оптимизации. Например в

List<T>..ctor(IEnumerable<T> collection)

и

List<T>.InsertRange(int index, IEnumerable<T> collection) .

Рекомендую, хотя бы ради любопытства.
помнишь правило про преждевременную оптимизацию ;) . как-то не пришлось на скорость списка жаловаться, вот и не лез
...
Рейтинг: 0 / 0
Программирование на Java - интересно?
    #36141753
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpashaпусть мне null вернут и в лог ошибку кинут. хотя возможно (возможно) я не все случаи учитываю. и все же методы со сложной логикой И с икслючениями не должны быть геттерами. они должны быть методами.
Ужас какой. И после каждого set/get проверять на null? Или ожидать, когда NPE над океаном вылетит?
...
Рейтинг: 0 / 0
Программирование на Java - интересно?
    #36141785
Valery Shiskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Последний аргумент. Сижу сейчас, борюсь одновременно со Spring + GWT + Google App Engine. Поругиваю потихоньку Sun ( теперь Oracle/Sun), SpringSource ( теперь VMWare/SpringSource). Одно радует: вряд ли у кого-то хватит денег купить Google. Может у MS ? А у последнего скукота и никаких перемен. Пока его никто не покупает.
...
Рейтинг: 0 / 0
Программирование на Java - интересно?
    #36141805
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonidvchpashaпусть мне null вернут и в лог ошибку кинут. хотя возможно (возможно) я не все случаи учитываю. и все же методы со сложной логикой И с икслючениями не должны быть геттерами. они должны быть методами.
Ужас какой. И после каждого set/get проверять на null? Или ожидать, когда NPE над океаном вылетит?имелся в виду случай когда выбиралось лучшее из двух зол. засовывание сложной логики в геттер мне в принципе кажется неправильным. свойство оно и есть свойство. иначе вы под видом геттера фактически полноценный метод используете.

а на счет проверки на null, так все равно приходится проверять. тот же iBatis если возвращает сложный бизнес объект, в нем любое из свойств-объектов может null-ом оказаться.
...
Рейтинг: 0 / 0
Программирование на Java - интересно?
    #36141839
VoDA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonidvchpashaпусть мне null вернут и в лог ошибку кинут. хотя возможно (возможно) я не все случаи учитываю. и все же методы со сложной логикой И с икслючениями не должны быть геттерами. они должны быть методами.
Ужас какой. И после каждого set/get проверять на null? Или ожидать, когда NPE над океаном вылетит?выкидывать Unchecked Exception.
...
Рейтинг: 0 / 0
Программирование на Java - интересно?
    #36141870
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VoDALeonidvchpashaпусть мне null вернут и в лог ошибку кинут. хотя возможно (возможно) я не все случаи учитываю. и все же методы со сложной логикой И с икслючениями не должны быть геттерами. они должны быть методами.
Ужас какой. И после каждого set/get проверять на null? Или ожидать, когда NPE над океаном вылетит?выкидывать Unchecked Exception.
так какая разница. то ли NullPointer то ли другой какой :)
...
Рейтинг: 0 / 0
Программирование на Java - интересно?
    #36141873
Фотография Диез
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VoDALeonidvchpashaпусть мне null вернут и в лог ошибку кинут. хотя возможно (возможно) я не все случаи учитываю. и все же методы со сложной логикой И с икслючениями не должны быть геттерами. они должны быть методами.
Ужас какой. И после каждого set/get проверять на null? Или ожидать, когда NPE над океаном вылетит?выкидывать Unchecked Exception.

Тоже нехорошо.
Пусть есть некий DAL. Геттер лениво подгружает коллекцию из БД, и произошел SqlException - вы предлагаете обернуть его в RuntimeException? Тогда мы теряем всю прелесть иерархии исключений и контроля на уровне компилятора.
...
Рейтинг: 0 / 0
Программирование на Java - интересно?
    #36141889
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДиезVoDALeonidvchpashaпусть мне null вернут и в лог ошибку кинут. хотя возможно (возможно) я не все случаи учитываю. и все же методы со сложной логикой И с икслючениями не должны быть геттерами. они должны быть методами.
Ужас какой. И после каждого set/get проверять на null? Или ожидать, когда NPE над океаном вылетит?выкидывать Unchecked Exception.

Тоже нехорошо.
Пусть есть некий DAL. Геттер лениво подгружает коллекцию из БД, и произошел SqlException - вы предлагаете обернуть его в RuntimeException? Тогда мы теряем всю прелесть иерархии исключений и контроля на уровне компилятора.
я думаю тут можно начинать спорить, а геттер ли это :)
...
Рейтинг: 0 / 0
Программирование на Java - интересно?
    #36141936
Фотография Диез
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpasha

Тоже нехорошо.
Пусть есть некий DAL. Геттер лениво подгружает коллекцию из БД, и произошел SqlException - вы предлагаете обернуть его в RuntimeException? Тогда мы теряем всю прелесть иерархии исключений и контроля на уровне компилятора.
я думаю тут можно начинать спорить, а геттер ли это :)

А разве в LINQtoSQL не так делается? Детайл-коллекция - это свойство Мастер-записи, и пока мы к нему явно не обратимся, загрузка из детайл-таблицы не производится.
Впрочем, с LINQ глубоко не разбирался, может и неправ...
...
Рейтинг: 0 / 0
Программирование на Java - интересно?
    #36141962
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Диез
Впрочем, с LINQ глубоко не разбирался, может и неправ...
аналогично
...
Рейтинг: 0 / 0
Программирование на Java - интересно?
    #36142037
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДиезПусть есть некий DAL. Геттер лениво подгружает коллекцию из БД, и произошел SqlException - вы предлагаете обернуть его в RuntimeException? Тогда мы теряем всю прелесть иерархии исключений и контроля на уровне компилятора ."Сначала создали себе проблему, теперь героически её решаем".
...
Рейтинг: 0 / 0
Программирование на Java - интересно?
    #36142055
VoDA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpashaVoDAвыкидывать Unchecked Exception.
так какая разница. то ли NullPointer то ли другой какой :)Exception полетит в момент вызовы getter-а, а NPE - уже при обработке и вполне возможно что в другой под-системе.

Но это лирика.

по большому счету никто не мешает сделать синтаксис:

Код: plaintext
1.
2.
3.
 public  property String str { 
   set  throws  MyException { _str = value;}
   get  throws  InvalidPropertyException {  return  _str; } 
};
C# style.
...
Рейтинг: 0 / 0
Программирование на Java - интересно?
    #36142061
VoDA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДиезТоже нехорошо.
Пусть есть некий DAL. Геттер лениво подгружает коллекцию из БД, и произошел SqlException - вы предлагаете обернуть его в RuntimeException? Тогда мы теряем всю прелесть иерархии исключений и контроля на уровне компилятора.в случае общения с БД я соглашусь, но в общем случае все сложнее.

Почитайте почему Spring пропагандирует Unchecked. Сам чаще применяю Unchecked.
...
Рейтинг: 0 / 0
Программирование на Java - интересно?
    #36142069
Фотография Диез
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КДиезПусть есть некий DAL. Геттер лениво подгружает коллекцию из БД, и произошел SqlException - вы предлагаете обернуть его в RuntimeException? Тогда мы теряем всю прелесть иерархии исключений и контроля на уровне компилятора ."Сначала создали себе проблему, теперь героически её решаем".

Шо, опять? :)

Ну ладно: благодаря контролю компилятора, у Java нормальная и стройная библиотека классов, в отличие от FCL. Особенно в плане взаимодействия с внешними ресурсами (IO, DB, Web etc)
...
Рейтинг: 0 / 0
Программирование на Java - интересно?
    #36142101
Фотография Диез
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VoDA
Почитайте почему Spring пропагандирует Unchecked. Сам чаще применяю Unchecked.

Ну дайте ссылку хоть... не найду навскидку.
...
Рейтинг: 0 / 0
Программирование на Java - интересно?
    #36142130
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДиезНу ладно: благодаря контролю компилятора, у Java нормальная и стройная библиотека классов, в отличие от FCL. Особенно в плане взаимодействия с внешними ресурсами (IO, DB, Web etc)А чего там не так?
...
Рейтинг: 0 / 0
Программирование на Java - интересно?
    #36142181
Фотография Диез
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КДиезНу ладно: благодаря контролю компилятора, у Java нормальная и стройная библиотека классов, в отличие от FCL. Особенно в плане взаимодействия с внешними ресурсами (IO, DB, Web etc)А чего там не так?

Приведу один пример:
- если в Java написано, что Connection.createStatement() должен выбрасывать SqlException в случае проблем, то каждый провайдер и будет его выбрасывать.
- а в .NET я _могу_ легко написать свой провайдер, который в DbConnection.CreateCommand() будет выбрасывать всякие левые исключения в б. количестве, никак не связанные с DbException.

Понятно, что и в Java-провайдере можно навыбрасывать левых RuntimeExeption'ов при желании, но все-таки исключения как часть контракта метода дисциплинируют разработчиков библиотек.

PS. Зря я, наверное, на вашу "провокацию" поддался :) Тема неисчерпаема!
...
Рейтинг: 0 / 0
Программирование на Java - интересно?
    #36142187
VoDA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДиезVoDA
Почитайте почему Spring пропагандирует Unchecked. Сам чаще применяю Unchecked.
Ну дайте ссылку хоть... не найду навскидку.Даже и не знаю на что направить. тынц на javadoc. Это DataAccessException.

уже отгремели баталии на тему RuntimeException & Spring.
...
Рейтинг: 0 / 0
25 сообщений из 357, страница 4 из 15
Форумы / Java [игнор отключен] [закрыт для гостей] / Программирование на Java - интересно?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]