Каковы наиболее важные особенности IDE для разработки Perl?
Как некоторые из вас могут знать, что я ведущий разработчик Padre, Perl IDE. В первый год своего развития Падре стал приемлемым текстовым редактором с некоторыми дополнительными функциями для разработки Perl.
Я бы хотел попросить сообщество Qaru помочь вам в продвижении проекта, чтобы превратить его в исключительную среду разработки для Perl. Поэтому я был бы рад узнать, что вы считаете наиболее важными функциями IDE, которые все еще отсутствуют в Padre?.
Особенно мне будут интересны люди, которые в настоящее время используют Eclipse + EPIC, Komodo, Visual Studio или любой текстовый редактор для программистов.
Ответы
Ответ 1
Самая важная особенность IDE для разработки Perl (включая Padre):
интерактивный отладчик, который действительно работает. Например. запоминание точек останова, способность перетекать в сложные структуры данных, а копирование (в буфер обмена) должно работать на просмотренных переменных - включая команду меню Copy Special, которая позволяет размещать ее в различных форматах; например, CSV, XML или вкладка.
Ответ 2
Две самые бесценные функции, которые я нахожу:
- отладка по очереди, точки наблюдения, точки останова и т.д., поэтому я могу правильно отлаживать свой код.
- поэтому мне не нужно искать документы (даже в Интернете).
Ответ 3
Хорошо, вот мой третий ответ, хотя я не хочу этого говорить.
Конкурс довольно прост в установке. Падре нет. Я попытался обновиться до последней версии сегодня и, опять же, получил неудачные тесты.
Ответ 4
Я тяжелый пользователь Perl EPIC, и моя самая большая проблема не
будучи в состоянии перейти к функции, которая четко определена в
текущий контекст (обычно нажатием F3). Симпатично
много хитов или промах на этом этапе.
Ответ 5
о стабильности. Люди быстро отворачиваются, если их редактор падает, и они теряют работу.
Ответ 6
Я работаю с Комодо. Я также использую другие редакторы, но я возвращаюсь в Komodo большую часть времени. Хорошая IDE-версия:
- Хороший отладчик. Точки останова, списки наблюдения, все, что вам нужно.
- Удаленная отладка. Возможность отладки потоков.
- Выделение синтаксиса, включая взвешенные шрифты (я был довольно разочарован Oxygen, например, XSLT IDE, где я не могу использовать жирные шрифты, чтобы подчеркнуть зарезервированные термины)
- Завершение синтаксиса.
- Инструменты управления проектами, предпочтительные расширяемые плагинами.
Ответ 7
Первое, что я ищу, это какой-то обзор по текущему активному файлу. Я хотел бы видеть методы/функции и, если возможно, модули use'd и особенно любые базовые операторы использования.
Вы решили это довольно хорошо в Падре.
Ответ 8
Хорошая интеграция VCS. Это то, что я абсолютно люблю в Eclipse: вы сразу видите, какие файлы имеют локальные изменения и которые еще не добавлены в репозиторий. И вы получаете возможность просматривать различные версии и иметь удобный вид разметки всего одним щелчком мыши.
Ответ 9
Менеджер проекта. Для меня очень важно иметь возможность определять набор файлов и папок, которые содержат определенную базу кода. Сеансы полезны, но не заменяются.
Ответ 10
Тестирование интеграции.
Perl обладает отличными инструментами для тестирования модулей. Когда я запускаю свой тестовый пакет и получаю сбой, я хочу, чтобы код для теста не удался.
Хороший способ перепрыгнуть через результаты тестирования и увидеть код неудавшегося теста вместе с ожидаемыми и фактическими результатами будет отличным подарком.
Ответ 11
Рефакторинг стиля Visual-Studio для имен переменных и функций и извлечения функций.
Visual studio ищет весь ваш модуль для всех ссылок и позволяет видеть все измененные строки в случае, если вы не хотите менять один экземпляр (по какой-либо причине)....
Ответ 12
Вопрос кажется более спорным, чем ответным.
Опасаясь того, что меня обвиняют в нарушении авторских прав, я опубликую содержимое, которое я помню из книги "Интерактивные среды программирования" от Дэвида Р. Барстоу, Говарда Э. Шроба, Эрика Санделла.
Это не будет точно таким же, как я прочитал книгу много лет назад, и я записал ее на другом языке.
ПРИНЦИПЫ ХОРОШЕЙ ИНТЕРАКТИВНОЙ ПРОГРАММИРОВАНИЯ ОКРУЖАЮЩЕЙ СРЕДЫ
1: Know the user
+ Know the previous knowledge and practice of the user
2: Minimize the memorization
+ Selection and not characters entering
+ Names and not numbers
+ Predictable behavior: the user should have a previous impression of what the system will do
+ Possible access and changing of the parameters of the system
3: Optimization of operations
+ Fast execution of common operations
+ Inercy of visualization: the screen should change the less possible
+ Memorization of system operation in user,s memory
+ The meaning of specific operations should have a simple relationship with the state of the system
+ The system must be prepared to accept more than 10 followed
commands per second, so that it can operate on the user,s muscular memory
+ The system should be prepared to organize the parameters of a command
4: Engineer for the errors
+ Provide good error messages.
+ Engineer it to remove away the common errors.
+ The system should provide reversible actions.
+ Redundancy: the operations should have more than one way of being done.
+ Integrity of data structures.
Ответ 13
Это может быть достигнуто с помощью use strict
; но может быть также ценной особенностью, даже если не use
'd явно, а именно:
на днях мы потратили около 10-20 минут, отлаживая следующее поведение:
my %hash;
$hash->{'key1'} = value1;
# on reading in different module
print $hash{'key1'}; # is of course empty, but was so easy to overlook in the code above
Резюме:
надлежащая безопасность типа Perl, внедренная в среду разработки.
Возможно, он уже реализован в Padre, но, как оказалось, не в Eclipse + EPIC
Ответ 14
Возможность настройки и запуска внешних (командной строки) инструментов. Плагины отличные, но конечные пользователи не обязательно захотят авторизовать их только для интеграции с внешним инструментом. Разрешение пользователям настраивать свои собственные инструменты обеспечивает большую расширяемость с минимальными барьерами для входа.
Мой редактор выбора - UltraEdit. Это не IDE, но благодаря поддержке пользовательских инструментов мне удалось интегрировать функции IDE, такие как lint, управление версиями, отладка и многое другое.
Ответ 15
Я использую emacs. Я бы хотел, чтобы система помогла мне преобразовать код, особенно когда я работаю над уродливым кодом 1999 года, который использует философию begin-at-the-begin-go-to-end в сочетании с дублированием и модификацией.
Я посмотрел на Eclipse, но я не могу работать с системой, которая требует от меня создания проекта, прежде чем я могу сделать односимвольную коррекцию для файла.
Я посмотрел на Падре, но он медленно и падает.
Я посмотрел на Kod, который утверждает, что настроен с помощью CSS, но я не могу найти справочную страницу, которая сообщит мне, где разместить CSS.
Ответ 16
Интеграция цикла чтения-eval-печати. Как тяжелый пользователь Emacs, я очень ценю Sepia. Очень полезно для проверки вещей, прежде чем я завершу их код.
Ответ 17
Возможность создания и отладки кода XS.
Ответ 18
Политики завершения строк для файлов, по каталогам и по всему проекту.
Итак, для данного проекта или каталога я хотел бы, чтобы все окончания строк были только LF. Хотя в другом каталоге мне может быть предложено сочетание файлов CRLF и LF.
Я много работаю над тем, что происходит между средами Unix и Win32.
Типичное решение автоматического преобразования всех файлов взад и вперед при переходе с платформы на платформу не сработало хорошо для меня.
Когда файл создается в неправильном формате случайно, это может быть настоящей болью.
Ответ 19
Я не знаю, может ли Падре это сделать, но способность разделить экран очень важна для меня. В качестве пользователя VIM я постоянно разбивал свой экран, чтобы посмотреть на другой файл во время кодирования.
Ответ 20
Возможность использовать мой собственный редактор (который, возможно, имеет, насколько я знаю). У этого есть шанс победить людей vim/emacs.