Здравствуйте, kzn, Вы писали:
kzn>Что лучше для Java? Сейчас использую Eclipse. kzn>Какие уникальные фичи есть в этих средах?
IDEA, no questions.
Уникальная фича — интегрированность, injected-языки, удобство работы. Ничего близко и рядом не стояло.
С расширяемостью тоже вопрос, в IDEA есть почти всё что мне надо.
Eclipse — глюкодром. Сейчас пишу код для JBoss Drools (один из немногих случаев, где для IDEA нет поддержки), для Eclipse как-бы есть поддержка его редактирования с автокомплитом. Только вот оно глючит так, что я забил на Eclipse и ушёл обратно в IDEA. И пофиг, что нет автокомплита — проще сразу писать код, не надеясь на глюкодромы Eclipse.
Здравствуйте, avpavlov, Вы писали:
A>А, я понял, это как с ФФ — когда речь идёт о мощи, то его рассматривают вместе с плагинами, а когда о скорости и стабильности — то без
ну поставил я плагин в идею который должен число строк считать (аля wc) из менюшки с плагинами (а не с левых сайтов). в результате идея похерила проект, и свою директорию с конфигами. пришлось всё с нуля ставить и настраивать.
а вообще я два года пользовался еклипсом (одновременно с емаксом для с++, потому что не тормозит и достаточно комфортно), потом полтора нетбинсом, с марта использую идею. по фичам которые я юзаю у них паритет. по безбожной глючности на ровном месте тоже паритет. нет в мире счастья.
PS как в идее настроить автокомплит анонимной реализации интерфейсов в аргументе метода? и отключить case sensitivuty еще везде у автокомплита, а то задолбало уже оно страшно
D>ну поставил я плагин в идею который должен число строк считать (аля wc) из менюшки с плагинами (а не с левых сайтов). в результате идея похерила проект, и свою директорию с конфигами. пришлось всё с нуля ставить и настраивать.
А папку с порно не похерила? Обычно херит. Ага.
D>а вообще я два года пользовался еклипсом (одновременно с емаксом для с++, потому что не тормозит и достаточно комфортно), потом полтора нетбинсом, с марта использую идею. по фичам которые я юзаю у них паритет. по безбожной глючности на ровном месте тоже паритет. нет в мире счастья.
D>PS как в идее настроить автокомплит анонимной реализации интерфейсов в аргументе метода?
new Thread(new Runnable() {Ctrl+Shift+I
Это? Или я чего то не так понял?
D>и отключить case sensitivuty еще везде у автокомплита, а то задолбало уже оно страшно
Вообще в ИДЕЕ с самых давних версий была киллер фича (ни у Эклипса ни у НетБинса не было, но я за ними не слежу, может и добавили) — автокомплит по большим буквам, например для
OutputStream os = newFOS
Предложит FileOutputStream и (допустим есть такой класс) FileOpenStatus
а для
OutputStream os = newFOuS
Предложит только FileOutputStream. Как видишь, сенсивити помогает отсечь лишнее. Уверен что это можно отключить, только зачем? Научись это использовать, реально мощный приём.
Здравствуйте, avpavlov, Вы писали:
A>А папку с порно не похерила? Обычно херит. Ага.
1. не смешно. полдня потратил на восстановление.
A>new Thread(new Runnable() {Ctrl+Shift+I
A>Это? Или я чего то не так понял?
2. нет не то. я имел ввиду дополнение сразу от скобки открывающей. и почему для автокомплита(ну или генерации кода) в разных местах нужно жать разные комбинации? это тонкое издевательство да?
A>Предложит только FileOutputStream. Как видишь, сенсивити помогает отсечь лишнее. Уверен что это можно отключить, только зачем? Научись это использовать, реально мощный приём.
3. бред это полный. к тому же часто не работающий по первому ctrl-space( просто не весь список классов выводит, а какое то странное подмножество). я уж не говорю что в п.2 оно в автодополнение вообще список всех классов в classpath выводит без учета типа аргумента. типы дженериков идея тоже вообще не дополняет, всё руками вбивать приходится.
вот типовые случаи. никакого отношения классы в окошке автодополнения к интерфейсу List (java.util это именно он, я проверил) не имеют, фильтры на дополнение классов у меня стоят только для awt и swing
это вообще чисто idea вская фишка. такой бред выдавать.
Здравствуйте, avpavlov, Вы писали:
П>>Не Eclipse, а плагины к нему. И то — смотря какие.
A>А, я понял, это как с ФФ — когда речь идёт о мощи, то его рассматривают вместе с плагинами, а когда о скорости и стабильности — то без
Почти, но не совсем. Все-таки в отличие от ФФ, эклипс и в стандартной поставке достаточно функционален — т.е. те же автокомплит, рефакторинг, навигацию по проекту и т.п. плагинами доставлять, скорее всего, не придется. В остальном — да, шаг влево-шаг вправо от стандартных требований — и дополнительную функциональность придется доставлять плагинами. Но оно, насколько я знаю, и в идее так же — разница только в величине этих "шаг влево-вправо".
Здравствуйте, Cyberax, Вы писали:
C>IDEA, no questions. C>Уникальная фича — интегрированность, injected-языки, удобство работы. Ничего близко и рядом не стояло.
А инкрементальную компиляция в IDEA уже добавили? Без нее даже смотреть не буду!
Здравствуйте, novitk, Вы писали:
C>>IDEA, no questions. C>>Уникальная фича — интегрированность, injected-языки, удобство работы. Ничего близко и рядом не стояло. N>А инкрементальную компиляция в IDEA уже добавили? Без нее даже смотреть не буду!
А разве её когда-то там не было?
Здравствуйте, Cyberax, Вы писали:
C>Здравствуйте, novitk, Вы писали:
C>>>IDEA, no questions. C>>>Уникальная фича — интегрированность, injected-языки, удобство работы. Ничего близко и рядом не стояло. N>>А инкрементальную компиляция в IDEA уже добавили? Без нее даже смотреть не буду! C>А разве её когда-то там не было?
А разве были ИДЕ для Ява, в которых когда-либо не было инкрементальной сборки? Даже JBuilder 3.5 образца 2000 года уже это было.
Штота маленькая папка была, молодой ещё штоле?
D>2. нет не то. я имел ввиду дополнение сразу от скобки открывающей.
Так и не понимаю, чего надо.
D>и почему для автокомплита(ну или генерации кода) в разных местах нужно жать разные комбинации? это тонкое издевательство да?
Автокомплит — завершение начатого тобой набора, а имплементация интерфейса требуется как раз когда класс уже известен. Хотя, наверное, можно было бы на одну комбинацию повесить.
D>3. бред это полный. к тому же часто не работающий по первому ctrl-space( просто не весь список классов выводит, а какое то странное подмножество).
The first invocation of the class name completion shows only those classes that are not hidden by module dependencies. If you invoke class name completion for the second time, the complete list of suggested class names is displayed.
D>я уж не говорю что в п.2 оно в автодополнение вообще список всех классов в classpath выводит без учета типа аргумента.
Согласен, плохо, что ArrayList не вверху списка. Но это потому что у тебя ИДЕЯ или старая, или ненастроенная.
Кстати, показ только соответствующих типов был бы конкретным косяком. Подумай.
Здравствуйте, Пацак, Вы писали:
П>Здравствуйте, avpavlov, Вы писали:
П>>>Не Eclipse, а плагины к нему. И то — смотря какие.
A>>А, я понял, это как с ФФ — когда речь идёт о мощи, то его рассматривают вместе с плагинами, а когда о скорости и стабильности — то без
П>Почти, но не совсем. Все-таки в отличие от ФФ, эклипс и в стандартной поставке достаточно функционален — т.е. те же автокомплит, рефакторинг, навигацию по проекту и т.п. плагинами доставлять, скорее всего, не придется. В остальном — да, шаг влево-шаг вправо от стандартных требований — и дополнительную функциональность придется доставлять плагинами. Но оно, насколько я знаю, и в идее так же — разница только в величине этих "шаг влево-вправо".
В ИДЕЕ большинство важнейших плагинов разработаны самой ДжетБрэйнс. Иными словами, это просто способ отключить лишнее и съэкономить байты и такты. У меня не ДжетБрйэновских было 3 — XpathView (который с 9ки уже идёт как часть ИДЕИ), переключалка файлов по Ctrl+Tab и запускалка RegExp ов, которая просто панель (т.е. хуков не ставит). Остальное всё ДжетБрэйновское => одинаково стабильное и совместимое с ИДЕ
Здравствуйте, Cyberax, Вы писали:
C>Здравствуйте, novitk, Вы писали:
C>>>IDEA, no questions. C>>>Уникальная фича — интегрированность, injected-языки, удобство работы. Ничего близко и рядом не стояло. N>>А инкрементальную компиляция в IDEA уже добавили? Без нее даже смотреть не буду! C>А разве её когда-то там не было?
Раньше не было, в NB нет и сейчас. Также отсутсвует в VS.
PS Для минусующих под "инкременатальной" я понимаю когда компиляция происходит полностью в фоне без явного действия сразу после сохранению файла ().
Здравствуйте, novitk, Вы писали:
N>Раньше не было, в NB нет и сейчас. Также отсутсвует в VS. N>PS Для минусующих под "инкременатальной" я понимаю когда компиляция происходит полностью в фоне без явного действия сразу после сохранению файла ().
Это не инкрементальная компиляция, а фоновая. Будем называть вещи своими именами
Никогда не понимал этой фичи в Эклипсе. Мало того, что сам не сохраняет автоматически файлы, так ещё и тормозит после попытки сохранения. Я имею привычку писать код сразу в нескольких файлах и мне совсем не обязательно автоматически компилировать файлы, когда код ещё не закончен.
Здравствуйте, Пацак, Вы писали:
A>>В ИДЕЕ большинство важнейших плагинов разработаны самой ДжетБрэйнс. П>Это какие, можно список?
Что-то около 30 штук в стандартной поставке. Скачай триал и посмотри сам.
Здравствуйте, xBlackCat, Вы писали:
BC>Никогда не понимал этой фичи в Эклипсе. Мало того, что сам не сохраняет автоматически файлы, так ещё и тормозит после попытки сохранения. Я имею привычку писать код сразу в нескольких файлах и мне совсем не обязательно автоматически компилировать файлы, когда код ещё не закончен.
Для меня это киллер! Из edit-compile-debug цикла выкинут один шаг физически, a главное ментально. Советую проапгрейдить железо и попытаться еще раз.
Так я правильно понял, что в Идеи этого все еще нет?
Здравствуйте, novitk, Вы писали:
N>Так я правильно понял, что в Идеи этого все еще нет?
А как же дополнительная обработка? Мне компиляция как таковая не нужна. Мне надо собрать продукт — это Ant или Maven прогоняет юнит-тесты, пакует архивы, деплоит, если надо. А если Эклипс без компиляции не может показать где ошибка — в топку Эклипс. Инспектор Идеи с этим справляется и без компиляции + добавляет более интересных моментов.
А в Эклипсе уже сделали автоматическое сохранение файла через некоторое время или по деактивации окна IDE? Вот это для меня было действительно killer-фича.
Здравствуйте, xBlackCat, Вы писали:
BC>А как же дополнительная обработка? Мне компиляция как таковая не нужна. Мне надо собрать продукт — это Ant или Maven прогоняет юнит-тесты, пакует архивы, деплоит, если надо.
Это все ортогонально и в Е имеется. У нас же плагины на каждый чих.
BC>А если Эклипс без компиляции не может показать где ошибка — в топку Эклипс. Инспектор Идеи с этим справляется и без компиляции + добавляет более интересных моментов.
Все что может показать без компиляции E показывает, только это ерунда типа незакрытых скобок.
BC>А в Эклипсе уже сделали автоматическое сохранение файла через некоторое время или по деактивации окна IDE? Вот это для меня было действительно killer-фича.
Интересно, зачем? У IDEA со стабильностью проблемы что-ли?
В Е это просто не нужно, даже если бы он падал постоянно, так как файлы все время сохраняются, чтобы проверить валидность компиляции. Сохраняются они кстати версионно — другая киллер-фича в Е. Ее наверное тоже нет в самой "удобной IDE"...
Здравствуйте, novitk, Вы писали:
N>Здравствуйте, xBlackCat, Вы писали:
N>Это все ортогонально и в Е имеется. У нас же плагины на каждый чих.
Так вот зачем при сохранении фала пересобирать дистрибутив?
N>Все что может показать без компиляции E показывает, только это ерунда типа незакрытых скобок.
Ну-ну. Значит, не далеко Эклипс ушёл с последнего моего с ним знакомства. Когда ж это было? Лет 7 назад...
BC>>А в Эклипсе уже сделали автоматическое сохранение файла через некоторое время или по деактивации окна IDE? Вот это для меня было действительно killer-фича.
N>Интересно, зачем? У IDEA со стабильностью проблемы что-ли?
У Идеи со стабильностью (и производительностью, кстати) очень хорошо. А вот если свет рубанётся после получаса кодирования — я посмотрю, как Эклипсоводы будут рвать волосы на всех волосатых местах. И не надо мне говорить про УПСы — не всегда они спасают.
N>В Е это просто не нужно, даже если бы он падал постоянно, так как файлы все время сохраняются, чтобы проверить валидность компиляции. Сохраняются они кстати версионно — другая киллер-фича в Е. Ее наверное тоже нет в самой "удобной IDE"...
Когда кажется, креститься надо. Local History в Идеа — это практически фоновая VCS, которая работает всегда. Как бы, при упоминании LH для Eclipce, в комментах пишется, что в Идее — "это уже есть" пруф
И диалог сливания исходников у Идеи — отдельная песня.
А навигация по проекту и поиск у эклипса — просто обнять и плакать. Я уже не говорю про монстроидальные диалоги создания чего-либо.
Здравствуйте, xBlackCat, Вы писали:
N>>Это все ортогонально и в Е имеется. У нас же плагины на каждый чих. BC>Так вот зачем при сохранении фала пересобирать дистрибутив?
При чем здесь дистрибутив? Дистрибутив надо в батче на сервере без IDE строить.
N>>Все что может показать без компиляции E показывает, только это ерунда типа незакрытых скобок. BC>Ну-ну. Значит, не далеко Эклипс ушёл с последнего моего с ним знакомства. Когда ж это было? Лет 7 назад...
Какие такие ошибки без компиляции находит IDEA, которые Е не находит?
BC>А вот если свет рубанётся после получаса кодирования — я посмотрю, как Эклипсоводы будут рвать волосы на всех волосатых местах.
Смешно. Еще раз повторяю, в Е ты сохраняешся сразу, так как хочешь быстрее все проверить.
BC>Когда кажется, креститься надо. [url=Local History]
Ну молодцы, догоняют.
BC>ЗЫЖ Я бы тебе посоветовал ознакомиться с полным списком возможностей "из-коробки" для Идеи — большинство нападок сразу пропадут: http://www.jetbrains.com/idea/features/index.html
Не, не буду. Пусть сначала фоновую компиляцию приделают.
Здравствуйте, novitk, Вы писали:
BC>>А вот если свет рубанётся после получаса кодирования — я посмотрю, как Эклипсоводы будут рвать волосы на всех волосатых местах. N>Смешно. Еще раз повторяю, в Е ты сохраняешся сразу, так как хочешь быстрее все проверить.
Но если очень хочеться, то киллер-фича лежит здесь.
Здравствуйте, novitk, Вы писали:
BC>>Никогда не понимал этой фичи в Эклипсе. Мало того, что сам не сохраняет автоматически файлы, так ещё и тормозит после попытки сохранения. Я имею привычку писать код сразу в нескольких файлах и мне совсем не обязательно автоматически компилировать файлы, когда код ещё не закончен. N>Для меня это киллер! Из edit-compile-debug цикла выкинут один шаг физически, a главное ментально. Советую проапгрейдить железо и попытаться еще раз.
Тормозит. На топовом железе.
N>Так я правильно понял, что в Идеи этого все еще нет?
Есть, вроде.
Здравствуйте, novitk, Вы писали:
BC>>А как же дополнительная обработка? Мне компиляция как таковая не нужна. Мне надо собрать продукт — это Ant или Maven прогоняет юнит-тесты, пакует архивы, деплоит, если надо. N>Это все ортогонально и в Е имеется. У нас же плагины на каждый чих.
И все они глючат.
Здравствуйте, novitk, Вы писали:
BC>>>А вот если свет рубанётся после получаса кодирования — я посмотрю, как Эклипсоводы будут рвать волосы на всех волосатых местах. N>>Смешно. Еще раз повторяю, в Е ты сохраняешся сразу, так как хочешь быстрее все проверить. N>Но если очень хочеться, то киллер-фича лежит здесь.
Eclipse 3.6
Упало с исключением, когда тот открытый в Eclipse файл был модифицирован из IDEA.
Здравствуйте, novitk, Вы писали:
N>При чем здесь дистрибутив? Дистрибутив надо в батче на сервере без IDE строить.
А для локальной прогонки?
N>Какие такие ошибки без компиляции находит IDEA, которые Е не находит?
Все ошибки, которые даст компиляция, только без компиляции. И ещё кучу логических/семантических/структурных. Например, бесконечный цикл, невыполнимые условия. Я вижу, ссылку приведённую ты принципиально не читаешь. Когда же Эклипс будет такое же делать из коробки?
N>Смешно. Еще раз повторяю, в Е ты сохраняешся сразу, так как хочешь быстрее все проверить.
А я ещё раз повторяю, что Идее и компилировать для этого не надо. Ы?
BC>>Когда кажется, креститься надо. Local History N>Ну молодцы, догоняют.
Как-то ты хитро обрезал абзац... Напомню:
Как бы, при упоминании LH для Eclipce, в комментах пишется, что в Идее — "это уже есть" пруф
И кто кого догоняет?
BC>>ЗЫЖ Я бы тебе посоветовал ознакомиться с полным списком возможностей "из-коробки" для Идеи — большинство нападок сразу пропадут: http://www.jetbrains.com/idea/features/index.html N>Не, не буду. Пусть сначала фоновую компиляцию приделают.
Ну жди, когда к автомобилю приделают велосипедные педали. Такого ещё не скоро будет.
На счёт киллер фичи — а как скоро Эклипс подхватывает изменения в редакторе, если файл был изменён внешней программой?
Здравствуйте, Cyberax, Вы писали:
N>>Так я правильно понял, что в Идеи этого все еще нет? C>Есть, вроде.
Есть, но не так, как товарисчь хочет
Идея просто может процессы в бэкграунде производить — ту же компиляцию, — но по нажатию на "build", а не так, как хочет товарисчь — сразу после сохранения файла.
Здравствуйте, Cyberax, Вы писали:
N>>А инкрементальную компиляция в IDEA уже добавили? Без нее даже смотреть не буду! C>А разве её когда-то там не было?
А разве она там когда-то была? IDEA же использует компилятор от JDK, а своего инкрементального как в Eclipse JDT у нее нет.
Вот по ссылке:
In Eclipse, I never "make" anything. I just hit run whenever I want to run my app. Only when things get screwed up, maybe once a month or so, I do a clean and recompile everything from scratch (it takes less than a minute for a pretty large workspace with about 50 projects so it's not too bad either).
There are other benefits as well: When I introduce an error in another project that is dependent, it shows up instantly. In IDEA, I have to do a full make. Perhaps this is what the plugin above does? Would be good. It's not just that I find the error sooner, it's also the confidence that there are no errors when no errors are showing. That's even more important when I do a project-spanning refactoring operation. I need to know that the refactoring didn't screw up along the way. Thanks to the incremental compiler, I know that right away.
Здравствуйте, kamre, Вы писали:
N>>>А инкрементальную компиляция в IDEA уже добавили? Без нее даже смотреть не буду! C>>А разве её когда-то там не было? K>А разве она там когда-то была? IDEA же использует компилятор от JDK, а своего инкрементального как в Eclipse JDT у нее нет.
Видимо, это мираж:
K>There are other benefits as well: When I introduce an error in another project that is dependent, it shows up instantly. In IDEA, I have to do a full make. Perhaps this is what the plugin above does? Would be good. It's not just that I find the error sooner, it's also the confidence that there are no errors when no errors are showing. That's even more important when I do a project-spanning refactoring operation. I need to know that the refactoring didn't screw up along the way. Thanks to the incremental compiler, I know that right away.
Фулл Мэйк можно трактовать по разному ИДЕЯ пересоберёт только исправленные файлы, а так же зависимые от них, при чём насколько я понимаю, зависимости она отслеживает по умному — если я не меняю сигнатуры методов, то перекомпиляции зависимых классов не случится.
Коллега Сайберакс уже многократно вам указывал на то, что I find the error sooner в ИДЕЕ реализовано без компиляции вообще, за счёт парсинга и анализа файлов. Причём такой подход позволяет анализировать файлы, которые не проходят компиляцию, потому что ещё недописаны
Здравствуйте, avpavlov, Вы писали:
K>>There are other benefits as well: A>Фулл Мэйк можно трактовать по разному
ты текст то про other benefits прочел? Дело тут не только в скорости мэйка, а в том что о нем нужно помнить. В эклипсе он отсутствует в workflow полностью.
A>Коллега Сайберакс уже многократно вам указывал на то, что I find the error sooner в ИДЕЕ реализовано без компиляции вообще, за счёт парсинга и анализа файлов. Причём такой подход позволяет анализировать файлы, которые не проходят компиляцию, потому что ещё недописаны
Коллега Сайберакс очевидно до сих пор не понимает о чем идет речь в отличие от коллеги эксБлэккэта. Мне впрочем несложно и я повторю в третий раз, что речь здесь идет о полной компиляции, которая делает class файлы, а не о ерунде которую показывает редактор.
Здравствуйте, novitk, Вы писали:
K>>>There are other benefits as well: A>>Фулл Мэйк можно трактовать по разному N>ты текст то про other benefits прочел? Дело тут не только в скорости мэйка, а в том что о нем нужно помнить. В эклипсе он отсутствует в workflow полностью.
Зачем о нём помнить? Кстати, тут как раз Eclipse сливается в унитаз.
У меня используется Maven, и Eclipse после каждого изменения файла запускает mvn compile. Который у меня весьма небыстрый бывает. Fail. IDEA очень умно запускает нужные task'и. Та же ситуация при необходимости строить web-приложения.
Ещё прикольно во время отладки. В IDEA я делаю изменения, жму "F7" (Make) и оно мне для них делает hotswap — всё удобно и красиво. В Eclipse полная жуть.
A>>Коллега Сайберакс уже многократно вам указывал на то, что I find the error sooner в ИДЕЕ реализовано без компиляции вообще, за счёт парсинга и анализа файлов. Причём такой подход позволяет анализировать файлы, которые не проходят компиляцию, потому что ещё недописаны N>Коллега Сайберакс очевидно до сих пор не понимает о чем идет речь в отличие от коллеги эксБлэккэта. Мне впрочем несложно и я повторю в третий раз, что речь здесь идет о полной компиляции, которая делает class файлы, а не о ерунде которую показывает редактор.
А нафиг? У фонового билда нет ровно никаких преимуществ.
В случае небольших изменений IDEA всё компилирует у меня меньше, чем за секунду. Естественно, при запуске приложения на отладку оно строится автоматически. Т.е. для меня фаза постройки совершенно прозрачна.
Здравствуйте, novitk, Вы писали:
N>Компилятор тот же, но в идее он вероятно используется только в пакетном режиме(как альтернатива javac) в отличие от Eclipse JDT.
Он используется в инкрементальном режиме, так что работает ОЧЕНЬ быстро.
Здравствуйте, novitk, Вы писали:
N>Коллега Сайберакс очевидно до сих пор не понимает о чем идет речь в отличие от коллеги эксБлэккэта. Мне впрочем несложно и я повторю в третий раз, что речь здесь идет о полной компиляции, которая делает class файлы, а не о ерунде которую показывает редактор.
Ну а зачем нужны class файлы, если тебе надо только проверить валидность кода? С этим в идее инспектор справляется на "ура!". Глянув на инспектора, я просто нажимаю "Выполни!" и Идея мне тогда и откомпилирует файлы, какие надо, и соберёт изменённые пакаджи, если есть, и задеплоит, если необходимо. Даже сервер запустит нужный локально. И вот это всё — прозрачно. В это время я могу спокойно ковыряться в других исходниках этого же проекта.
Резюме моей мысли:
Компилять только для проверки валидности файлов — сакс.
ЗЫЖ Кстати, Идея может подсказать, что пропертя из файла нигде не используется, что потенциально — ошибка. Компиляция здесь не поможет. Как в этом случае дела у Эклипса?
Здравствуйте, xBlackCat, Вы писали:
BC>ЗЫЖ Кстати, Идея может подсказать, что пропертя из файла нигде не используется, что потенциально — ошибка. Компиляция здесь не поможет. Как в этом случае дела у Эклипса?
Никак
Здравствуйте, Cyberax, Вы писали:
C>Здравствуйте, xBlackCat, Вы писали:
BC>>ЗЫЖ Кстати, Идея может подсказать, что пропертя из файла нигде не используется, что потенциально — ошибка. Компиляция здесь не поможет. Как в этом случае дела у Эклипса? C>Никак
Здравствуйте, avpavlov, Вы писали:
N>>и я повторю в третий раз, что речь здесь идет о полной компиляции, которая делает class файлы, а не о ерунде которую показывает редактор. A>А я повторю (хотя и всего лишь второй раз) — ИДЕЯ успешно анализирует недописанный файл, который не может быть скомпилирован.
Здравствуйте, avpavlov, Вы писали:
A>Вообще в ИДЕЕ с самых давних версий была киллер фича (ни у Эклипса ни у НетБинса не было, но я за ними не слежу, может и добавили) — автокомплит по большим буквам, например для
в eclipse есть.. видимо ты eclipse видел очень давно..
Здравствуйте, xBlackCat, Вы писали:
BC>Ну а зачем нужны class файлы, если тебе надо только проверить валидность кода?
Ты сейчас утверждаешь, что мэйк в идее никогда не показывает ошибок, которых до этого не было видно в редакторе. То есть в редакторе есть полный компилятор, кроме кодогенератора. Уверен?
BC>ЗЫЖ Кстати, Идея может подсказать, что пропертя из файла нигде не используется, что потенциально — ошибка. Компиляция здесь не поможет. Как в этом случае дела у Эклипса?
Конечно, но "главный знаток Эклипса" под ником Cyberax об этом не знает.
Здравствуйте, Cyberax, Вы писали:
C>Зачем о нём помнить? Кстати, тут как раз Eclipse сливается в унитаз. C>У меня используется Maven, и Eclipse после каждого изменения файла запускает mvn compile.
Moжет ты посмотришь все же как работает мавен (или хоть ant) в эклипсе и не будешь писать этот мухо-котлетный бред?
C>В Eclipse полная жуть.
Кхм, в эклипсе для hotswap-a достаточно просто сохранить файл. Действительно жуть, можно прямо описаться от страха!
C>А нафиг? У фонового билда нет ровно никаких преимуществ.
Все уже поняли ты никогда эклипсом по-взрослому не пользовался. Слепой судит о картинах? Мне фишка очень помогает, и я в отличие от тебя работаю с ней и без (VS, Netbeans) и могу реально оценить ее полезность.
ПС. В отличие от вашего IDEA-фанклаба я не религиозен и готов посмотреть на другие среды. Просто сейчас единственная фишка, которой нет в эклипсе (injected-языки) для меня не очень актуальна, так как я sql не использую.
Здравствуйте, novitk, Вы писали:
C>>У меня используется Maven, и Eclipse после каждого изменения файла запускает mvn compile. N>Moжет ты посмотришь все же как работает мавен (или хоть ant) в эклипсе и не будешь писать этот мухо-котлетный бред?
Тебе клип снять? Вижу каждую минуту.
C>>В Eclipse полная жуть. N>Кхм, в эклипсе для hotswap-a достаточно просто сохранить файл. Действительно жуть, можно прямо описаться от страха!
Ага, особенно когда оно глючит из-за того, что сохранил файл с ошибкой.
C>>А нафиг? У фонового билда нет ровно никаких преимуществ. N>Все уже поняли ты никогда эклипсом по-взрослому не пользовался. Слепой судит о картинах? Мне фишка очень помогает, и я в отличие от тебя работаю с ней и без (VS, Netbeans) и могу реально оценить ее полезность.
Ты думаешь, почему я Eclipse ненавижу? Вот прямо сейчас пытаюсь её заставить показать какие ошибки у меня в Drools-файле.
Там в глюкоплугине как всегда всё плохо. И если я модифицирую связный файл и в нём ошибка появляется — родительский файл перестаёт показывать новые ошибки, приходится руками делать touch.
Спасибо товарищу Сталину за фоновую компиляцию, что ещё сказать.
N>ПС. В отличие от вашего IDEA-фанклаба я не религиозен и готов посмотреть на другие среды. Просто сейчас единственная фишка, которой нет в эклипсе (injected-языки) для меня не очень актуальна, так как я sql не использую.
А regexp'ами? Или JavaScript и CSS в HTML?
Здравствуйте, novitk, Вы писали:
BC>>Ну а зачем нужны class файлы, если тебе надо только проверить валидность кода? N>Ты сейчас утверждаешь, что мэйк в идее никогда не показывает ошибок, которых до этого не было видно в редакторе. То есть в редакторе есть полный компилятор, кроме кодогенератора. Уверен?
Именно. Наконец-то до тебя начало доходить!
BC>>ЗЫЖ Кстати, Идея может подсказать, что пропертя из файла нигде не используется, что потенциально — ошибка. Компиляция здесь не поможет. Как в этом случае дела у Эклипса? N>Конечно, но "главный знаток Эклипса" под ником Cyberax об этом не знает.
Не надо клеветать, нет в Eclipse этого.
Вот так показывается в IDEA — она анализирует ВЕСЬ проект и видит, что бедную функцию никто не использует. Причём анализ идёт в фоновом режиме, прямо во время написания кода:
C>>В Eclipse полная жуть. N>Кхм, в эклипсе для hotswap-a достаточно просто сохранить файл. Действительно жуть, можно прямо описаться от страха!
Эта... т.е. он просто на каждое сохранение сделает мне hotswap? А если я просто файл редактирую при запущенном приложениии и не хочу, чтобы мое редактирование попало в запущенное приложение?
Здравствуйте, Cyberax, Вы писали:
C>Именно. Наконец-то до тебя начало доходить!
Если так, то уже интересно. Посмотрю... Ну если обманул, смотри!
C>Не надо клеветать, нет в Eclipse этого. C>Вот так показывается в IDEA — она анализирует ВЕСЬ проект и видит, что бедную функцию никто не использует. Причём анализ идёт в фоновом режиме, прямо во время написания кода
Глобальности по умолчанию нет, согласен. Не уверен, что проект это правильный scope для предупреждения, но допускаю, что может быть полезно.
Здравствуйте, novitk, Вы писали:
C>>Именно. Наконец-то до тебя начало доходить! N>Если так, то уже интересно. Посмотрю... Ну если обманул, смотри!
C>>Не надо клеветать, нет в Eclipse этого. C>>Вот так показывается в IDEA — она анализирует ВЕСЬ проект и видит, что бедную функцию никто не использует. Причём анализ идёт в фоновом режиме, прямо во время написания кода N>Глобальности по умолчанию нет, согласен. Не уверен, что проект это правильный scope для предупреждения, но допускаю, что может быть полезно.
Вру. Даже не проект, а весь workspace.
А глобальности в Eclipse быть не может, не доросла она. Там внутри надо всю систему индексации и представления кода для этого переделать.
Точно по той же причине невозможны и injected languages.
Здравствуйте, Cyberax, Вы писали:
C>>>У меня используется Maven, и Eclipse после каждого изменения файла запускает mvn compile. N>>Moжет ты посмотришь все же как работает мавен (или хоть ant) в эклипсе и не будешь писать этот мухо-котлетный бред? C>Тебе клип снять? Вижу каждую минуту.
Ага, где Эклипс запускает mvn compile после каждого изменения файла.
N>>Кхм, в эклипсе для hotswap-a достаточно просто сохранить файл. Действительно жуть, можно прямо описаться от страха! C>Ага, особенно когда оно глючит из-за того, что сохранил файл с ошибкой.
Пересохранил без ошибки и вперед.
C>Ты думаешь, почему я Eclipse ненавижу? Вот прямо сейчас пытаюсь её заставить показать какие ошибки у меня в Drools-файле.
Точно, еще там Scala с Clojure глючит... Я правда думал мы о яве.
C>Там в глюкоплугине как всегда всё плохо. И если я модифицирую связный файл и в нём ошибка появляется — родительский файл перестаёт показывать новые ошибки, приходится руками делать touch.
Дак используй свой maven. Кто не дает то?
C>А regexp'ами?
Не принципиально.
C>Или JavaScript и CSS в HTML?
Не использую, бог миловал.
Здравствуйте, Cyberax, Вы писали:
C>А глобальности в Eclipse быть не может, не доросла она. Там внутри надо всю систему индексации и представления кода для этого переделать.
Кхм, Ctrl-Shift-G
C>Точно по той же причине невозможны и injected languages.
Никакая это не причина. Просто это трудоемкая фича, главным образом из за усложнения синтаксического контекста.
Здравствуйте, kzn, Вы писали:
kzn>Что лучше для Java? Сейчас использую Eclipse. kzn>Какие уникальные фичи есть в этих средах?
Дело не в фичах. Пользовался и тем и тем, сейчас сижу на бесплатном урезанном idea. Так вот:
1) Скорость работы. Для маленьких проектов пофиг, но на больших — скорость IDEA больше минимум на порядок. Я мог себе позволить подключить вообще весь проект целиком, еще добавить исходники либ, и у меня летало все достаточно шустро. Ко мне все бегали узнать — нет ли такого файла в проекте, так как они не могли себе позволить открыть проект целиком, а просто поиск по проекту с помощью тотала занимает часа 2, в idea очень быстро. Скорость работы сильно возрасла в 9-й, на восьмую я очень сильно плевался, и она прошла мимо меня — работать было невозможно.
2) Стабильность. Собственно скорее всего из за плагинов, но тем не менее, в эклипсе у меня постоянно все падало. Причем после падения приходилось выполнять полную перекомпиляцию проекта, а это минимум полчаса занимало. Но, на эклипсе я был вынужден сидеть, так как плагины были только под эклипс.
3) Моя любимая фича в IDEA — подсветка (ctrl+shift+f6). В IDEA работает на абсолютно любых файлах, в эклипсе только на коде, для xml или текста я не знаю, как можно заставить. Наверно плагины есть, хз.
4) Интерфейс. В IDEA он сверхинтуитивен, практически не надо обучаться. Я как сел за нее, так и не слезал, на мой прошлый идеал — визуал студию щас смотреть без мата не могу, настолько все убого. К эклипсу я привыкал полгода, и не привык до конца. А когда потребовался перерыв — уже и забыл как этим всем пользоваться. ИМХО неудобно, хотя да, настраивается все неплохо, возможностей поболее, чем в IDEA — только особо не надо.
5) Поддержка ченжлистов, в эклипсе ее практически нет (когда я смотрел — не было). Да, закоммитить сразу кучу файлов можно, но вот распределить их на ченжлисты, когда видищь — ради чего ты это менял — этого нет. Весьма много этим пользуюсь — локально модифицирую некоторые файлы, помещаю из в ченжлист never commit, и не могу нарабоваться — эти измененные файлы мне практически не мешают, также могу над несколькими фичами одновременно работать, всегда знаю, какие файлы изменились и что надо смержить (не всегда работает идеально). То есть интеграция с системами контроля версий в ИДЕА получше. Справедливости ради, не могу сказать, что мне онравилась работа с бранчами в ИДЕА, чет так по нормальному и не смог освоить, однозначно есть над чем работать. В эклипсе с бренчами не работал, так что сравнить не могу.
6) Если смотреть полную версию, то вообще IDEA по возможностям супер. Поигрался немного — поддержка спринга весьма полезна, ищет баги в синтаксисе HQL и SQL запросов (сама анализирует что эта строка является запросом), что могу сказать — впечатляет, весьма полезно. Тоже самое с другими языками — это лчень полезно, причем не надо никаких перспектив других. Но тут в принципе сравнивать некорректно — сравнивать надо бесплатные версии.
Из недостатков — не очень удобная у ИДЕА инсталлция под линуксы, мягко говоря. Прописывать IDEA_HOME и се такое, устанавливается копированием — что могу сказать — плоховато будет. Ну и под винду — была одна версия, вышла более свежая, так пытается в новую папку все, что могу сказать — неудобно.
Пока хватит
Здравствуйте, novitk, Вы писали:
C>>А глобальности в Eclipse быть не может, не доросла она. Там внутри надо всю систему индексации и представления кода для этого переделать. N>Кхм, Ctrl-Shift-G
Проиндексировать классы/методы — это одно, а сделать модель всего кода с обратными индексами — совершенно другое.
К примеру, ещё IDEA умеет находить использование методов/классов в шаблонном коде, GWT-шном коде, XML-файлах и т.п.
C>>Точно по той же причине невозможны и injected languages. N>Никакая это не причина. Просто это трудоемкая фича, главным образом из за усложнения синтаксического контекста.
Нет. В Eclipse оно структурно невозможно из-за отсутствия общей системы представления кода (аналогичной PSI в Идее).
Здравствуйте, novitk, Вы писали:
C>>Тебе клип снять? Вижу каждую минуту. N>Ага, где Эклипс запускает mvn compile после каждого изменения файла.
К сожалению.
N>>>Кхм, в эклипсе для hotswap-a достаточно просто сохранить файл. Действительно жуть, можно прямо описаться от страха! C>>Ага, особенно когда оно глючит из-за того, что сохранил файл с ошибкой. N>Пересохранил без ошибки и вперед.
Ага, особенно если это ломает HotSwap. Или я часто запускаю под отладкой веб-сервер, и пишу код для клиента, не трогая сервер. Опять Eclipse от этого колбасит.
C>>Ты думаешь, почему я Eclipse ненавижу? Вот прямо сейчас пытаюсь её заставить показать какие ошибки у меня в Drools-файле. N>Точно, еще там Scala с Clojure глючит... Я правда думал мы о яве.
Ява там тоже глючит, но меньше. Толпы индусов за годы работы уже более-менее спрятали баги.
C>>Там в глюкоплугине как всегда всё плохо. И если я модифицирую связный файл и в нём ошибка появляется — родительский файл перестаёт показывать новые ошибки, приходится руками делать touch. N>Дак используй свой maven. Кто не дает то?
Так пытаюсь.
N>Ага, где Эклипс запускает mvn compile после каждого изменения файла.
Здравствуйте, avpavlov, Вы писали:
F>>в eclipse есть.. видимо ты eclipse видел очень давно.. A>Видел пару лет назад, и когда видел, действовало только на классы. А для всяких жсп, жсф, хтмл, цсс, хмл и прочее — не действовало.
эту фичу реализовывает автокомплит для редактора.. а для каждого типа файлов могут быть свои редакторы..
Здравствуйте, neFormal, Вы писали:
F>Здравствуйте, avpavlov, Вы писали:
F>>>в eclipse есть.. видимо ты eclipse видел очень давно.. A>>Видел пару лет назад, и когда видел, действовало только на классы. А для всяких жсп, жсф, хтмл, цсс, хмл и прочее — не действовало.
F>эту фичу реализовывает автокомплит для редактора.. а для каждого типа файлов могут быть свои редакторы..
Алё! Я про поиск/переход к файлу говорю. В ИДЕЕ можно быстро переходить к файлу (используя поиск по заглавным буквам) также, как и к классу. Причём тут редактор?
Здравствуйте, avpavlov, Вы писали:
F>>>>в eclipse есть.. видимо ты eclipse видел очень давно.. A>>>Видел пару лет назад, и когда видел, действовало только на классы. А для всяких жсп, жсф, хтмл, цсс, хмл и прочее — не действовало. F>>эту фичу реализовывает автокомплит для редактора.. а для каждого типа файлов могут быть свои редакторы.. A>Алё! Я про поиск/переход к файлу говорю. В ИДЕЕ можно быстро переходить к файлу (используя поиск по заглавным буквам) также, как и к классу. Причём тут редактор?
слыыы алё ты кусок кода привёл.. при чём тут поиск/переход, ааа?. норкоман штоле?.
F>слыыы алё ты кусок кода привёл.. при чём тут поиск/переход, ааа?. норкоман штоле?.
А, забыл уже о чём вверху речь была. В любом случае, в ИДЕЕ есть быстрый переход на файл при наборе только заглавных букв из его имени, причём как для классов, так и для остальных.
И автокомплит работает даже в файлах пропертей! Искаропки1
Здравствуйте, avpavlov, Вы писали:
F>>слыыы алё ты кусок кода привёл.. при чём тут поиск/переход, ааа?. норкоман штоле?. A>А, забыл уже о чём вверху речь была. В любом случае, в ИДЕЕ есть быстрый переход на файл при наборе только заглавных букв из его имени, причём как для классов, так и для остальных.
в eclipse тоже есть =P
A>И автокомплит работает даже в файлах пропертей! Искаропки1
Здравствуйте, elmal, Вы писали:
E>Здравствуйте, kzn, Вы писали:
kzn>>Что лучше для Java? Сейчас использую Eclipse. kzn>>Какие уникальные фичи есть в этих средах?
E>Пока хватит
Есть ещё одна интересная фича в Идее: можно подключить БД в Tools->data source и вычитать таблицы из базы. Тогда в строках с инъекцией SQL будет автокомплит по именам таблиц/полей этой базы.
Здравствуйте, Cyberax, Вы писали:
C>>>А глобальности в Eclipse быть не может, не доросла она. Там внутри надо всю систему индексации и представления кода для этого переделать. N>>Кхм, Ctrl-Shift-G C>Проиндексировать классы/методы — это одно, а сделать модель всего кода с обратными индексами — совершенно другое. C>Нет. В Eclipse оно структурно невозможно из-за отсутствия общей системы представления кода (аналогичной PSI в Идее).
Tы хочешь, что бы я aрхитектурой PSI повосхищался?!
Если мне надо будет работать в каком-нибудь языковом зоопарке для веба буду имееть ввиду. A сейчас мне нужна самая быстрая Java IDE и поддержка OSGI (не так важно, так как руками делать сие несложно). Ради интереса, как там в идее с OSGI?
Здравствуйте, novitk, Вы писали:
C>>Проиндексировать классы/методы — это одно, а сделать модель всего кода с обратными индексами — совершенно другое. C>>Нет. В Eclipse оно структурно невозможно из-за отсутствия общей системы представления кода (аналогичной PSI в Идее). N>Tы хочешь, что бы я aрхитектурой PSI повосхищался?!
Да.
N>Если мне надо будет работать в каком-нибудь языковом зоопарке для веба буду имееть ввиду. A сейчас мне нужна самая быстрая Java IDE
IDEA — самая быстрая.
N>и поддержка OSGI (не так важно, так как руками делать сие несложно). Ради интереса, как там в идее с OSGI?
Работает. Хотя весь этот OSGI — полная туфта.
Здравствуйте, neFormal, Вы писали:
C>>А вот Eclipse — ей всё по барабану: C>>http://files.rsdn.ru/37054/Eclipse-unused.png F>какой то нездоровый у тебя eclipse..
Посмотри на словечко "private". Eclipse делает анализ внутри одного класса, а IDEA — по всему проекту.
Здравствуйте, neFormal, Вы писали:
F>>>в eclipse есть.. видимо ты eclipse видел очень давно.. A>>Видел пару лет назад, и когда видел, действовало только на классы. А для всяких жсп, жсф, хтмл, цсс, хмл и прочее — не действовало. F>эту фичу реализовывает автокомплит для редактора.. а для каждого типа файлов могут быть свои редакторы..
Почему тогда в IDEA я могу редактировать JavaScript-код внутри Java или там CSS?
Здравствуйте, Cyberax, Вы писали:
N>>и поддержка OSGI (не так важно, так как руками делать сие несложно). Ради интереса, как там в идее с OSGI? C>Работает. Хотя весь этот OSGI — полная туфта.
Ну тут я, как ты знаешь, согласен. Только мне вагон кода достался на Eclipse RCP...
Здравствуйте, kzn, Вы писали:
kzn>Что лучше для Java? Сейчас использую Eclipse. kzn>Какие уникальные фичи есть в этих средах?
Для java однозначно IDEA.
А вот как она сейчас дружит с flex(в 8-ке не очень дружила, пришлось перепрыгивать на FlexBuilder aka старый Eclipse ).
Может что изменилось и можно того, обратно уже? Никто не пишет?
И как быть с php(не хочется разные IDE использовать для разных проектов)?
Здравствуйте, Cyberax, Вы писали:
C>Посмотри на словечко "private". Eclipse делает анализ внутри одного класса, а IDEA — по всему проекту.
Вот только есть одна бяка — в бесплатной нет поддержки спринга, и в результате ругается на кучу методов. Как бы отключить, чтоб не ругалось ...
Здравствуйте, Cyberax, Вы писали:
C>Здравствуйте, neFormal, Вы писали:
C>>>А вот Eclipse — ей всё по барабану: C>>>http://files.rsdn.ru/37054/Eclipse-unused.png F>>какой то нездоровый у тебя eclipse.. C>Посмотри на словечко "private". Eclipse делает анализ внутри одного класса, а IDEA — по всему проекту.
а что делать, если это нормальная ситуация? если, скажем, этот public-метод относится к публичному интерфейсу моей библиотеки?
uhh>а что делать, если это нормальная ситуация? если, скажем, этот public-метод относится к публичному интерфейсу моей библиотеки?
Ты как программист знаешь, пишешь ты библиотеку или нет. И если библиотеку — то можно пометить метод или весь класс, как исключённый из анализа на "используемость". А если не библиотеку, то получается у тебя мусор, который можно почистить.
Здравствуйте, Antidote.
Вы писали:
A> А вот как она сейчас дружит с flex(в 8-ке не очень дружила, пришлось перепрыгивать на FlexBuilder aka старый Eclipse ). A> Может что изменилось и можно того, обратно уже? Никто не пишет? A> И как быть с php(не хочется разные IDE использовать для разных проектов)? A> Пасиб
С PHP у Идеи всё пучком — смотри "побочный" проект — PHPStorm. Всё, что есть в нём — автоматически есть в Idea Ultimate.
С флексом, насколько мне известно, у Идеи тоже хорошо — умеет всё, кроме GUI Degisner'а.
Здравствуйте, avpavlov, Вы писали:
uhh>>а что делать, если это нормальная ситуация? если, скажем, этот public-метод относится к публичному интерфейсу моей библиотеки?
A>Ты как программист знаешь, пишешь ты библиотеку или нет. И если библиотеку — то можно пометить метод или весь класс, как исключённый из анализа на "используемость". А если не библиотеку, то получается у тебя мусор, который можно почистить.
а можно его пометить так, чтобы public-методы не проверялись на используемость, а private/protected — проверялись?
Здравствуйте, uhh, Вы писали:
uhh>Здравствуйте, avpavlov, Вы писали:
uhh>>>а что делать, если это нормальная ситуация? если, скажем, этот public-метод относится к публичному интерфейсу моей библиотеки?
A>>Ты как программист знаешь, пишешь ты библиотеку или нет. И если библиотеку — то можно пометить метод или весь класс, как исключённый из анализа на "используемость". А если не библиотеку, то получается у тебя мусор, который можно почистить.
uhh>а можно его пометить так, чтобы public-методы не проверялись на используемость, а private/protected — проверялись?
Насчёт протектед — не знаю. А привэйт будут всё равно анализироваться, ИДЕЯ понимает разницу между паблик и привэйт, и не распространяет отключение на уровне класса на привэйт методы.
Здравствуйте, uhh, Вы писали:
C>>Посмотри на словечко "private". Eclipse делает анализ внутри одного класса, а IDEA — по всему проекту. uhh>а что делать, если это нормальная ситуация? если, скажем, этот public-метод относится к публичному интерфейсу моей библиотеки?
Ну поставь игнорирование этой инспекции на интерфейс.
Здравствуйте, Cyberax, Вы писали:
C>Здравствуйте, xBlackCat, Вы писали:
BC>>ЗЫЖ Кстати, Идея может подсказать, что пропертя из файла нигде не используется, что потенциально — ошибка. Компиляция здесь не поможет. Как в этом случае дела у Эклипса? C>Никак
Такую банальщину всю жизнь может.
Социализм — это власть трудящихся и централизованная плановая экономика.
К сожалению, Эклипс может так делать только для приватных полей, которые по понятным причинам не могут быть использованы вне класса. Идея показывает и для пабликов, мол, этот метод в проекте вообще нигде не вызывается.
Самое странное, что эта фича была даже в древнем жбилдере.
Новости очень смешные. Зря вы не смотрите. Как будто за наркоманами подсматриваешь. Только тетка с погодой в завязке.
There is no such thing as a winnable war.
Здравствуйте, novitk, Вы писали:
N>Здравствуйте, Cyberax, Вы писали: N>>>и поддержка OSGI (не так важно, так как руками делать сие несложно). Ради интереса, как там в идее с OSGI? C>>Работает. Хотя весь этот OSGI — полная туфта. N>Ну тут я, как ты знаешь, согласен. Только мне вагон кода достался на Eclipse RCP...
RCP не имеет отношения к OSGi.
Социализм — это власть трудящихся и централизованная плановая экономика.
Здравствуйте, LaPerouse, Вы писали:
BC>>>ЗЫЖ Кстати, Идея может подсказать, что пропертя из файла нигде не используется, что потенциально — ошибка. Компиляция здесь не поможет. Как в этом случае дела у Эклипса? C>>Никак LP>Такую банальщину всю жизнь может. http://rsdn.ru/forum/flame.comp/3877483.1.aspx
Здравствуйте, Cyberax, Вы писали:
C>Здравствуйте, LaPerouse, Вы писали:
BC>>>>ЗЫЖ Кстати, Идея может подсказать, что пропертя из файла нигде не используется, что потенциально — ошибка. Компиляция здесь не поможет. Как в этом случае дела у Эклипса? C>>>Никак LP>>Такую банальщину всю жизнь может. C>http://rsdn.ru/forum/flame.comp/3877483.1.aspx
Ну идеа и дура. Метод-то публичный. Она что, будет ругаться на все методы моего публичного интерфейса, который используется например в другом проекте? В топку.
Социализм — это власть трудящихся и централизованная плановая экономика.
Здравствуйте, Cyberax, Вы писали:
C>Здравствуйте, LaPerouse, Вы писали:
LP>>Здравствуйте, Cyberax, Вы писали: C>>>Хотя весь этот OSGI — полная туфта. LP>>Ты ошибаешься. C>Ты ошибаешься.
Я — нет.
Социализм — это власть трудящихся и централизованная плановая экономика.
LP>Ну идеа и дура. Метод-то публичный. Она что, будет ругаться на все методы моего публичного интерфейса, который используется например в другом проекте? В топку.
IDEA анализирует все проекты в workspace'е.
Ну и если класс экспортируется через какой-нибудь EJB — IDEA это понимает и не подсвечивает методы. В общем, реально проблем очень мало, а плюсы есть.
Да, и весь код должен быть покрыт тестами, так что unused-методов не должно быть. В идеале.
LP>>Ну идеа и дура. Метод-то публичный. Она что, будет ругаться на все методы моего публичного интерфейса, который используется например в другом проекте? В топку. C>IDEA анализирует все проекты в workspace'е.
Да блин все равно — вот делаю я допустим компоненту с публичным интерфейсом, и этот интерфейс не используется в workspace вообще (используется, допустим, другой интерфейс этой компоненты). Будет подсвечивать? Бред полный.
C>Да, и весь код должен быть покрыт тестами, так что unused-методов не должно быть. В идеале.
На практике это невыполнимо, и вообще вредно.
Социализм — это власть трудящихся и централизованная плановая экономика.
Здравствуйте, LaPerouse, Вы писали:
LP>Здравствуйте, Cyberax, Вы писали:
C>>Здравствуйте, LaPerouse, Вы писали:
LP>>>Здравствуйте, Cyberax, Вы писали: C>>>>Хотя весь этот OSGI — полная туфта. LP>>>Ты ошибаешься. C>>Ты ошибаешься. LP>Я — нет.
Выключи бота.
Социализм — это власть трудящихся и централизованная плановая экономика.
Здравствуйте, LaPerouse, Вы писали:
C>>IDEA анализирует все проекты в workspace'е. LP>Да блин все равно — вот делаю я допустим компоненту с публичным интерфейсом, и этот интерфейс не используется в workspace вообще (используется, допустим, другой интерфейс этой компоненты). Будет подсвечивать? Бред полный.
Ну так отключи эту инспекцию для этого конкретного интерфейса (три нажатия клавиш). Какие проблемы-то?
C>>Да, и весь код должен быть покрыт тестами, так что unused-методов не должно быть. В идеале. LP>На практике это невыполнимо, и вообще вредно.
Очень полезно, как раз.
Здравствуйте, LaPerouse, Вы писали:
LP>Здравствуйте, LaPerouse, Вы писали: LP>>Здравствуйте, Cyberax, Вы писали: C>>>Здравствуйте, LaPerouse, Вы писали: LP>>>>Здравствуйте, Cyberax, Вы писали: C>>>>>Хотя весь этот OSGI — полная туфта. LP>>>>Ты ошибаешься. C>>>Ты ошибаешься. LP>>Я — нет. LP>Выключи бота.
Сам с собой разговариваешь?
Здравствуйте, Cyberax, Вы писали:
C>Здравствуйте, LaPerouse, Вы писали:
LP>>Здравствуйте, LaPerouse, Вы писали: LP>>>Здравствуйте, Cyberax, Вы писали: C>>>>Здравствуйте, LaPerouse, Вы писали: LP>>>>>Здравствуйте, Cyberax, Вы писали: C>>>>>>Хотя весь этот OSGI — полная туфта. LP>>>>>Ты ошибаешься. C>>>>Ты ошибаешься. LP>>>Я — нет. LP>>Выключи бота. C>Сам с собой разговариваешь?
Черт. Тут же было твое сообщение. Куда оно делось?
Социализм — это власть трудящихся и централизованная плановая экономика.
Здравствуйте, novitk, Вы писали:
N>Здравствуйте, LaPerouse, Вы писали:
LP>>RCP не имеет отношения к OSGi.
N>Ты реально считаешь, что я не знаю отношений между Eclipse RCP и OSGI? Или просто потролить вышел?
Ты делаешь умозаключение "RCP — плохо, OSGi — RCP, следовательно OSGi — плохо". Я тебе указал на ошибку.
Социализм — это власть трудящихся и централизованная плановая экономика.
Здравствуйте, Cyberax, Вы писали:
C>>>Да, и весь код должен быть покрыт тестами, так что unused-методов не должно быть. В идеале. LP>>На практике это невыполнимо, и вообще вредно. C>Очень полезно, как раз.
Нет, вредно. Не всякую функциональность целесообразно тестировать юнит-тестами.
Социализм — это власть трудящихся и централизованная плановая экономика.
Здравствуйте, LaPerouse, Вы писали:
LP>Здравствуйте, Cyberax, Вы писали:
C>>Здравствуйте, LaPerouse, Вы писали:
LP>>>Здравствуйте, LaPerouse, Вы писали: LP>>>>Здравствуйте, Cyberax, Вы писали: C>>>>>Здравствуйте, LaPerouse, Вы писали: LP>>>>>>Здравствуйте, Cyberax, Вы писали: C>>>>>>>Хотя весь этот OSGI — полная туфта. LP>>>>>>Ты ошибаешься. C>>>>>Ты ошибаешься. LP>>>>Я — нет. LP>>>Выключи бота. C>>Сам с собой разговариваешь?
LP>Черт. Тут же было твое сообщение. Куда оно делось?
судя по цитированию, я таки подумал, что ты еще раз продублировал мое сообщение )
Социализм — это власть трудящихся и централизованная плановая экономика.
Здравствуйте, novitk, Вы писали:
N>Здравствуйте, LaPerouse, Вы писали: LP>>Ты делаешь умозаключение "RCP — плохо, OSGi — RCP, следовательно OSGi — плохо". Я тебе указал на ошибку. N>Где я сделал такое умозаключение?
C>Работает. Хотя весь этот OSGI — полная туфта.
Ну тут я, как ты знаешь, согласен. Только мне вагон кода достался на Eclipse RCP...
Итак, ты думаешь, что OSGi — "туфта", видимо, исходя из своего опыта работы с RCP, иначе на кой черт ты это сюда приплел?
N>К реализации OSGi в equinox у меня претензий нет, есть претензии к стандарту.
Какие претензии?
Социализм — это власть трудящихся и централизованная плановая экономика.
Здравствуйте, LaPerouse, Вы писали:
LP>Итак, ты думаешь, что OSGi — "туфта", видимо, исходя из своего опыта работы с RCP, иначе на кой черт ты это сюда приплел?
Очевидно, что OSGI мне не люб, но мне достался продукт которые его использует.
N>>К реализации OSGi в equinox у меня претензий нет, есть претензии к стандарту. LP>Какие претензии?
Мы кажется уже общались на эту тему, не вижу смысла повторються.
Здравствуйте, xBlackCat, Вы писали:
BC>С PHP у Идеи всё пучком — смотри "побочный" проект — PHPStorm. Всё, что есть в нём — автоматически есть в Idea Ultimate.
BC>С флексом, насколько мне известно, у Идеи тоже хорошо — умеет всё, кроме GUI Degisner'а.
Ну GUI и даром не нужно, да и php не так критичен, а вот с flex типа лучше стало, да только с Flex SDK 4.Х
Придётся сначала обновлять и только потом щупать
Может кто-нить "пощупал", стоит оно того?
Здравствуйте, LaPerouse.
LP> Нет, вредно. Не всякую функциональность целесообразно тестировать юнит-тестами.
Пример, чтобы не быть голословным.
Если это либа — значит публичный метод должен быть покрыт тестом — значит он используется (из тестов)
Если это приложение — значит публичный метод не используется — значит не нужен и может быть удалён.
Здравствуйте, xBlackCat, Вы писали:
BC>Здравствуйте, LaPerouse.
LP>> Нет, вредно. Не всякую функциональность целесообразно тестировать юнит-тестами. BC>Пример, чтобы не быть голословным.
1. Любая функциональность с широкой недетерминированностью — например, такая, как действие пользователя (пользовательские интерфейсы).
2. Функциональность, которая и так уже проверяется опосредовано (в составе другой функциональности). Оверхед от 100-процентного покрытия слишком велик, поэтому нужно искать разумный компромисс. Это очевидно любому, кто применял юнит-тестирование на практике.
BC>Если это либа — значит публичный метод должен быть покрыт тестом — значит он используется (из тестов) BC>Если это приложение — значит публичный метод не используется — значит не нужен и может быть удалён.
Разделение на приложения и либы весьма условное. Собственно, при грамотном проектировании оно отсутствует вообще. Приложение состоит из модулей, которые взаймодействуют друг с другом через публичные сервисы, и разницы между компонентой-библиотекой и компонентной-не-библиотекой нет вообще. Каждая компонента может разрабатываться независимыми коллективами, которые не знают про другие компоненты. Так что подсвечивать все неиспользуемые публичные методы — маразм. Но если это легко отключается, то еще нормально, и разговор на эту тему можно закрыть.
Социализм — это власть трудящихся и централизованная плановая экономика.
Здравствуйте, LaPerouse.
Вы писали:
LP> Здравствуйте, xBlackCat, Вы писали: LP> BC>Здравствуйте, LaPerouse. LP> LP>> Нет, вредно. Не всякую функциональность целесообразно тестировать юнит-тестами. LP> BC>Пример, чтобы не быть голословным. LP> 1. Любая функциональность с широкой недетерминированностью — например, такая, как действие пользователя (пользовательские интерфейсы).
Как это связано с методом класса?
LP> 2. Функциональность, которая и так уже проверяется опосредовано (в составе другой функциональности). Оверхед от 100-процентного покрытия слишком велик, поэтому нужно искать разумный компромисс. Это очевидно любому, кто применял юнит-тестирование на практике.
Мысль понятна, но кадется, притянуто за уши к данной теме
LP> BC>Если это либа — значит публичный метод должен быть покрыт тестом — значит он используется (из тестов) LP> BC>Если это приложение — значит публичный метод не используется — значит не нужен и может быть удалён. LP> Разделение на приложения и либы весьма условное. Собственно, при грамотном проектировании оно отсутствует вообще. Приложение состоит из модулей, которые взаймодействуют друг с другом через публичные сервисы, и разницы между компонентой-библиотекой и компонентной-не-библиотекой нет вообще. Каждая компонента может разрабатываться независимыми коллективами, которые не знают про другие компоненты.
Вот здесь, кто разрабатывает компоненты, просто обязан проверить всевозможные входные данные. Опять, следовательно есть тест — мотод публичный используется.
Я бы побоялся использовать неоттестированную компоненту. LP> Так что подсвечивать все неиспользуемые публичные методы — маразм. Но если это легко отключается, то еще нормально, и разговор на эту тему можно закрыть.
Это отключается легко, что уже было ранее сказанно.
Здравствуйте, neFormal, Вы писали:
C>>Да, и весь код должен быть покрыт тестами, так что unused-методов не должно быть. В идеале. F>это какая то наркомания.. F>зачем покрывать на 100% ?.
Чтоб проверить
Здравствуйте, xBlackCat, Вы писали:
BC>Здравствуйте, LaPerouse. BC>Вы писали:
LP>> Здравствуйте, xBlackCat, Вы писали: LP>> BC>Здравствуйте, LaPerouse. LP>> LP>> Нет, вредно. Не всякую функциональность целесообразно тестировать юнит-тестами. LP>> BC>Пример, чтобы не быть голословным. LP>> 1. Любая функциональность с широкой недетерминированностью — например, такая, как действие пользователя (пользовательские интерфейсы). BC>Как это связано с методом класса?
Например, есть у нас публичный метод createExporterWindow. Протестируй его.
LP>> 2. Функциональность, которая и так уже проверяется опосредовано (в составе другой функциональности). Оверхед от 100-процентного покрытия слишком велик, поэтому нужно искать разумный компромисс. Это очевидно любому, кто применял юнит-тестирование на практике. BC>Мысль понятна, но кадется, притянуто за уши к данной теме
Не притянута, ведь это все публичные методы, которые не вызываются, а значит будут подсвечены IDE. И таких случаев не так уж и мало (посмотри хотя бы сколько методов addXXXListener в любом проекте).
LP>> BC>Если это либа — значит публичный метод должен быть покрыт тестом — значит он используется (из тестов) LP>> BC>Если это приложение — значит публичный метод не используется — значит не нужен и может быть удалён. LP>> Разделение на приложения и либы весьма условное. Собственно, при грамотном проектировании оно отсутствует вообще. Приложение состоит из модулей, которые взаймодействуют друг с другом через публичные сервисы, и разницы между компонентой-библиотекой и компонентной-не-библиотекой нет вообще. Каждая компонента может разрабатываться независимыми коллективами, которые не знают про другие компоненты. BC>Вот здесь, кто разрабатывает компоненты, просто обязан проверить всевозможные входные данные. Опять, следовательно есть тест — мотод публичный используется. BC>Я бы побоялся использовать неоттестированную компоненту.
Тогда этот случай сводится к предыдущему.
Тут кстати все проще будет. Я делаю так. Тесты лежат не с компонентой, а в проекте с сервисом, который компонента имплементирует, либо вообще отдельном проекте. А компонента для проверки правильности реализации сервиса просто вызывает эти тесты, подсовывая себя. То есть тесты — своеобразная спецификация для сервиса, которой разработчики компоненты должны удовлетворять.
Социализм — это власть трудящихся и централизованная плановая экономика.
Здравствуйте, Cyberax, Вы писали:
C>>>Да, и весь код должен быть покрыт тестами, так что unused-методов не должно быть. В идеале. F>>это какая то наркомания.. F>>зачем покрывать на 100% ?. C>Чтоб проверить
int GetId(){return id;} проверить?. ~_^
кроме того есть ещё приватные методы, которые тоже покрываете тестами?.
Здравствуйте, LaPerouse, Вы писали:
LP>Например, есть у нас публичный метод createExporterWindow. Протестируй его.
Легко. Вызывается метод и появившееся окно проверяется на функциональность с помощью java.awt.Robot.
LP>Не притянута, ведь это все публичные методы, которые не вызываются, а значит будут подсвечены IDE. И таких случаев не так уж и мало (посмотри хотя бы сколько методов addXXXListener в любом проекте).
Вынести общую логику листенеров в отдельный класс и тестировать её, а потом использовать. Конечно, идея тестировать прокси-методы кажется глупой идеей, но раз в год и палка стреляет — кто-то и этот метод может изменить.
LP>Тут кстати все проще будет. Я делаю так. Тесты лежат не с компонентой, а в проекте с сервисом, который компонента имплементирует, либо вообще отдельном проекте. А компонента для проверки правильности реализации сервиса просто вызывает эти тесты, подсовывая себя. То есть тесты — своеобразная спецификация для сервиса, которой разработчики компоненты должны удовлетворять.
+1
В этом и есть идея тестирования: тестировать мелкие детальки и потом только их взаимодействие.
Здравствуйте, neFormal, Вы писали:
F>>>зачем покрывать на 100% ?. C>>Чтоб проверить F>int GetId(){return id;} проверить?. ~_^
А оно где-то используется или просто для украшения?
F>кроме того есть ещё приватные методы, которые тоже покрываете тестами?.
Стараюсь.
Здравствуйте, Cyberax, Вы писали:
F>>int GetId(){return id;} проверить?. ~_^ C>А оно где-то используется или просто для украшения?
ну так ты же тесты пишешь не для того, чтобы успокоить IDEA, чтобы оно тебе не подсвечивало метод..
или я неправ?.
F>>кроме того есть ещё приватные методы, которые тоже покрываете тестами?. C>Стараюсь.
Здравствуйте, neFormal, Вы писали:
F>>>int GetId(){return id;} проверить?. ~_^ C>>А оно где-то используется или просто для украшения? F>ну так ты же тесты пишешь не для того, чтобы успокоить IDEA, чтобы оно тебе не подсвечивало метод.. F>или я неправ?.
У тебя этот метод просто так есть? Если просто так, то он не нужен. А если нужен, то он где-то используется и это "где-то" надо протестировать. Что вызовет автоматическое использование этого метода.
F>>>кроме того есть ещё приватные методы, которые тоже покрываете тестами?. C>>Стараюсь. F>а как это делаешь ты?.
Приватные методы кем-то вызываются. И этот "кто-то" должен быть в итоге публичным.
Здравствуйте, Cyberax, Вы писали:
F>>>>int GetId(){return id;} проверить?. ~_^ C>>>А оно где-то используется или просто для украшения? F>>ну так ты же тесты пишешь не для того, чтобы успокоить IDEA, чтобы оно тебе не подсвечивало метод.. F>>или я неправ?. C>У тебя этот метод просто так есть? Если просто так, то он не нужен. А если нужен, то он где-то используется и это "где-то" надо протестировать. Что вызовет автоматическое использование этого метода.
независимо от ide.. ты говоришь, что стараешься покрывать тестами 100% кода.. я спрашиваю, зачем ты покрываешь тестами тривиальные методы типа вышеуказанного?.
Здравствуйте, neFormal, Вы писали:
C>>У тебя этот метод просто так есть? Если просто так, то он не нужен. А если нужен, то он где-то используется и это "где-то" надо протестировать. Что вызовет автоматическое использование этого метода. F>независимо от ide.. ты говоришь, что стараешься покрывать тестами 100% кода.. я спрашиваю, зачем ты покрываешь тестами тривиальные методы типа вышеуказанного?.
Так я не пытаюсь покрыть примитивные методы. Они просто автоматически получаются покрытыми из-за того, что тестируется функциональность, использующая их.
Здравствуйте, Cyberax, Вы писали:
C>Здравствуйте, neFormal, Вы писали:
C>>>У тебя этот метод просто так есть? Если просто так, то он не нужен. А если нужен, то он где-то используется и это "где-то" надо протестировать. Что вызовет автоматическое использование этого метода. F>>независимо от ide.. ты говоришь, что стараешься покрывать тестами 100% кода.. я спрашиваю, зачем ты покрываешь тестами тривиальные методы типа вышеуказанного?. C>Так я не пытаюсь покрыть примитивные методы. Они просто автоматически получаются покрытыми из-за того, что тестируется функциональность, использующая их.
Это совсем разные вещи. Изначально таки речь шла именно о 100-ом покрытии кода, а потом кто-то решил плавно подменить тему )
Социализм — это власть трудящихся и централизованная плановая экономика.
Здравствуйте, xBlackCat, Вы писали:
BC>Здравствуйте, LaPerouse, Вы писали:
LP>>Например, есть у нас публичный метод createExporterWindow. Протестируй его. BC>Легко. Вызывается метод и появившееся окно проверяется на функциональность с помощью java.awt.Robot.
Это как раз такой случай, когда накладные расходы на тестирование превышают пользу. Я никогда не тестирую GUI. При правильном проектировании в GUI не происходит ничего сверхсложного, вся обработка происходит в сервисах приложения, к которым идет обращение из GUI, вот они должны быть покрыты тестами.
LP>>Не притянута, ведь это все публичные методы, которые не вызываются, а значит будут подсвечены IDE. И таких случаев не так уж и мало (посмотри хотя бы сколько методов addXXXListener в любом проекте). BC>Вынести общую логику листенеров в отдельный класс и тестировать её, а потом использовать. Конечно, идея тестировать прокси-методы кажется глупой идеей, но раз в год и палка стреляет — кто-то и этот метод может изменить.
Это опять такой случай, когда накладные расходы на тестирование превышают пользу.
Социализм — это власть трудящихся и централизованная плановая экономика.
Здравствуйте, LaPerouse, Вы писали:
F>>>независимо от ide.. ты говоришь, что стараешься покрывать тестами 100% кода.. я спрашиваю, зачем ты покрываешь тестами тривиальные методы типа вышеуказанного?. C>>Так я не пытаюсь покрыть примитивные методы. Они просто автоматически получаются покрытыми из-за того, что тестируется функциональность, использующая их. LP>Это совсем разные вещи. Изначально таки речь шла именно о 100-ом покрытии кода, а потом кто-то решил плавно подменить тему )
Ничуть. 100%-е покрытие кода совсем не означает, что надо влоб все методы тестировать.
Здравствуйте, Пацак, Вы писали:
YKU>>Только без без плагинов оно находится на уровне notepad. П>Брехня.
Согласен. Ноутпад лучше — памяти столько много не жрёт.
Пытаюсь переползать на IDEA из eclipse. Есть несколько вопросов.
1.Умеет ли идея востанавливать удалённые папки из локальной истории? Файлы умеет, а вот с папками не получилось.
2.Есть front-end (сам проект) и back-end (лежит на сервере). Как видеть серверный код в проекте? В eclipse есть linked folders, типа гришь, где код и смотри на здоровье. Правда, svn не захотел с такой папкой работать, но это уже было бы совсем круто
Здравствуйте, Antidote, Вы писали:
A>Пытаюсь переползать на IDEA из eclipse. Есть несколько вопросов.
A>2.Есть front-end (сам проект) и back-end (лежит на сервере). Как видеть серверный код в проекте? В eclipse есть linked folders, типа гришь, где код и смотри на здоровье. Правда, svn не захотел с такой папкой работать, но это уже было бы совсем круто
Ну немного не понятно, что и как ты хочешь смотреть. Если серверная часть подключена к проекту в виде jar'a/папок, то просто делаешь в свойствах модуля Attach Sources.
Расскажешь подробнее, что ты хочешь — отвечу тоже подробнее, так как не знаю, как работает linked folders в Eclipce A>Спасибо за ответы
Здравствуйте, xBlackCat, Вы писали:
BC>Ну немного не понятно, что и как ты хочешь смотреть. Если серверная часть подключена к проекту в виде jar'a/папок, то просто делаешь в свойствах модуля Attach Sources. BC>Расскажешь подробнее, что ты хочешь — отвечу тоже подробнее, так как не знаю, как работает linked folders в Eclipce A>>Спасибо за ответы
Ну для примера, серверная часть лежит тут: с:\Apache\htdocs\projectName. Проект тут: с:\projects\projectName.
В idea я вижу проект, но так же хотелось бы видеть серверную часть, править её в том-же проекте и при поиске по проекту чтобы она тоже захватывалась.
Добавить в source папку и скопировать туда серверную часть неинтересно. А как подключить эту папку к проекту, указав путь?
Как-то так
A>Ну для примера, серверная часть лежит тут: с:\Apache\htdocs\projectName. Проект тут: с:\projects\projectName. A>В idea я вижу проект, но так же хотелось бы видеть серверную часть, править её в том-же проекте и при поиске по проекту чтобы она тоже захватывалась. A>Добавить в source папку и скопировать туда серверную часть неинтересно. А как подключить эту папку к проекту, указав путь? A>Как-то так
Модули тебе в помощь.
Делаешь в проекте два модуля: один для клиентской части, второй — для серверной. Если надо — указываешь необходимые зависимости между модулями.
В свою очередь, при поиске чего-либо, можно указать, делать ли поиск по всему проекту или только по конкретному модулю.
Это в меню File->Project Structure->Modules.
И не обязательно, чтобы модули находились в одной папке или даже на одном диске. Идея в этом более гибкая, чем эклипс.