Net Beans 5.5 Руководство Пользователя

Я, как человек, связанный университетом с Java, следил за развитием NetBeans практически с момента его становления изначально меня принудил ей пользоваться мне показал эту IDE мой учитель — Вадим Монахов (с гордостью обнаружил, что ссылка на него ведет с, раздел литература). Сейчас часто сталкиваюсь с тем, что программисты PHP пишут говнокод ссылаясь на недоразвитость IDE не умеют делать Refactoring и многих из них останавливает отсутствие автоматизированных средств. Собственно, я решил отобрать у них этот аргумент: средства есть и сегодня я рассмотрю NetBeans как среду разработки для PHP и продемонстрирую заложенную в нее мощь. С вашего позволения пару ссылочек: официальная страничка для скачки: девелоперская версия: многое из того что я скажу стало доступно в последнем релизе. Как обычно остаются кривые имена методов, в коде? Человек пишет, потом использует, потом меняет, потом уточняет контекст использования и вот он уже готов бы и переименовать, но есть проблема — слишком много изменений в коде. Можно конечно сделать автозамену по файлам, но нужно проверять контекст и гарантировать что нет ошибок.

Детальное руководство но установке интегрированной среды разработки и ее настройке на работу с файлами на сервере.. Интегрированная среда разработки NetBeans. Редактировать файл в блокноте, а затем, после каждой правки, загружать его на удаленный хост чтобы посмотреть что получилось — не очень удобно, много теряется времени на таких загрузках.. В поле «Имя узла» вводим server29.backup4e.com, в поле «Имя пользователя» указываем vlamp162, в поле «пароль» пишем d45F6g7h, в «Начальный каталог» — /var/www/vlamp162/data. Жмем на кнопку «ОК». Управление удаленными подключениями.

Пользователя
  • Лабораторная работа №1. Знакомство с IDE NetBeans. Основы языка программирования Java. Знакомство с интегрированной средой разработки NetBeans.2 1.1. Создание проекта в NetBeans.2 1.2. Компиляция файлов проекта и запуск приложения.6 1.3.. По умолчанию головная папка проекта располагается в папке пользователя. Дальнейшее расположение папок и файлов приведено ниже, при этом имена папок выделены жирным шрифтом, а имена вложенных папок и файлов записаны под именами их головных папок и сдвинуты относительно них вправо.
  • Обзор возможностей NetBeans IDE [GeekBrains] - Продолжительность: 11:34 Образовательный IT-портал GeekBrains 15 713 просмотров.

Что нам может предложить NetBeans? Собственно рассмотрим на примере (взято ): мы просто ставим курсор в нужное место и жмем CTRL+R (нужно сказать, что это и есть прием переименования, который должен быть доступен во вкладке Refactoring - Rename), после чего безопасно переименуем все места вызова данного метода во всем проекте, упоминания в документации (если она корректно оформлена через JavaDoc style). Примечание: Если его выбрать в стабильной версии 6.9.1 стандартным способом через меню или через контекстное меню правой кнопки мыши, то вы увидите сообщение «The Rename refactoring cannot be applied in this context» — это и он исправлен в девелоперской версии. Аналогично можно переименовать и название класса во всем проекте: примечание: очевидно вызовы из разряда $o = new $className; не могут быть обработаны, но о том что таковые нужно минимизировать, думаю лишний раз говорить не стоит. Ну да, сыроват еще был. Очень много чего не было что есть сейчас.

И на ПХП соответственно нельзя было нормально что-то делать, да и вообще на всех остальных языках программирования кроме JAVA. А потом они как-то стали очень активно клепать новые версии, я даже пропустил момент когда появилась поддержка ПХП и всего остального.

Потом как-то плавно перешел с Aptana и Zend. Кстати очень хотелось бы чтобы как-то реализовали поддержку нормальную, файлов большого объема, скажем больше 5-м Мб Интересно такое вообще реально. В общем IDE написана на Java проблем с тем чтобы загрузить 5 метров текста в память нет. Правда в реальности при распаковке в дерево нод это будет метров 400-500, собственно вам и нужно дать ей лишней памяти: идете в папку с программой и в под папке etc находите netbeans.conf, его вскрываете и в нем находите netbeansdefaultoptions, можно поиграть с ней. Дать больше памяти IDE, например 1024М вместо 384 и посмотреть уйдет ли проблема. Иногда текст съезжает. Обсуждается тут: Отпишитесь о результатах.

IDE позволяет работать как с системами контроля версий (SVN GIT CVS) Официальные плагины есть для svn, mercurial, cvs. И работают они замечательно. А вот для git есть только не официальный, достаточно ущербный — ни annotate, ни историю файла не посмотреть Обращаю ваше внимание, что эти функции экспериментальные и будут введены в основной проект через некоторое время (обычно месяц-полтора). По-моему все эти функции уже есть в 6.9.1.

По крайней мере я каким-то образом уже пользовался ими ) А вообще два года использую эту ide(в основном для php, немного для python и java) и она мне нравится. Перешел на PHPStorm с NetBeans, привлек более мощный анализатор кода на момент перехода. Особенно меня удивлял анализатор JS, который верно определял поля объекта при использовании малоизвестных библиотек для имитации ООП. Почти всегда верно анализируются плагины jQuery. Очень часто пользуюсь плюшками phpDoc для работы автоподстановки, например: @var NewsController $this — очень удобно в шаблонах @return News — пользуюсь постоянно в Yii, так как коллекции там обычно возвращаются в виде массива.

Также очень нравится автоподстановка в HTML для атрибутов class и id (берется из CSS). За труды спасибо, но статья, имхо, ни о чём. Те, кто писал в блокнотике, в ней не нуждаются и не поймут, а использующие IDE в состоянии и без неё заметить меню Refactoring. Другими словами, желающих делать рефакторинг никак не «останавливает отсутствие автоматизированных средств». К тому же именно из рефакторинга я заметил описание только переименования. Довольно скудно, а как же перемещение класса в дереве файлов, выделение метода, представление переменной, безопасное удаление? (да, всё перечисленное есть в phpstorm, но и в нетбинсе думаю должно быть что-то ещё).

Не говоря уже о том, что такой же куцый рефакторинг есть и в Aptana (Move, Rename). Зато в топике есть красивые картинки;). Я его только раз запустил, не олдовый пользователь. Почему бы тогда не ответить просто — «для рефакторинга используйте IDE», и показать как это происходит в различных IDE. Была бы очень крутая статья-сравнение.

Для плодотворных занятий бегом человеку в берцах вы рекомендуете не беговую обувь, а кроссовки фирмы «абибас», не учитывая конкурентов с их преимуществами (и, возможно, недостатками). Просто посмотрите на количество полухоливарных комментариев в стиле «я юзаю, зачот», «перешёл с неё на phpStorm, там зачотнее», «а меня эклипс/аптана радуют» и так далее. А ведь есть ещё phpEdit, phpEd, Komodo и так далее. Вим можно научить быстро выделять дублированный код в отдельную реализацию (и другие экстракции)? Отслеживать переменную, даже если ее имя другое? Определять, точно ли функция с тем же именем — та же самая (без необходимости писать регэксп на это дело или вручную отсматривать)? Находить неиспользующиеся переменные?

Заменить все переменные (точно те, которые нам нужны и во всех классах проекта) на метод, если оно вдруг стало прайвитом? И точно так же быстро вертать обратно?

Люди на vim'е — такие особые люди. Я понимаю, что совет, как и воду дают когда просят, но позвольте вас поправить? $a = new RealClass; // тут вы явно определили тип создаваемой переменной $arr = new array; arraypush($arr, $a); $b = arraypop($arr); // а тут и человек не знает что в переменной. Особенно если в много кода нужно снабжать комментариями /.@var $b RealClass./ $b = arraypop($arr); Теперь что касается фабрик все элементы фабрики имеют типизацию — либо общего родителя, либо общий интерфейс — поэтому там все понятно и так. О комментариях @var.

Phpdoc'ом все не опишешь — простой случай демонстрировал идею. Вместо arraypush-pop мог стоять другой набор функций, причем такие бы, которые работают с разными классами, соответственно возвращаемые и принимаемые параметры phpdoc опишет плохо.

А если и опишет — ох, могут быть проблемы с результатом рефакторинга. Фабрики далеко не всегда возвращают объекты с общим родителем или общим интерфейсом.

Энивей, выше человек правильно сказал — это проблемы всех слаботипизированных языков. Поэтому, все то же — делай рефакторинг, но помни о том, как построена твоя система.

А как VCS может заменить (S)FTP? По-моему, абсолютно несвязанные вещи.

Руководство Пользователя Утм

От того, что закоммитил какое-то изменение в VCS на сервере оно не появится же? Ладно, если использовать одну ветку (то есть использовать VCS чисто как навороченный «undo») и один сервер. Но на практике на каждый чих надо, как минимум, создавать свою ветку, вносить изменения, тестировать их на своем дев-сервере (а значит сначала как-то заливать их туда), коммитить, опять вносить, опять тестировать, опять коммитить потом вливать свою ветку в основную и заливать её (основную) на продакшн сервер, то есть нужно как-то заливать проект на, как минимум, два разных сервера (и это ещё простой сценарий). Пока обходимся тем, что NB автоматом заливает при сохранении на дев-сервер, и периодически «ручками» (через (s)ftp-клиент, конечно) заливаем на общий тестовый или продакшн сервер. Если код готов к релизу, что ему делать на staging? Релизить надо!:) Или у нас разные понятия о staging и релизах.

У нас «коммит» со staging ветки на транк = релиз. На staging крутится то, что к релизу ещё не готово (не оттестировано или, как минимум, нет формального «добро, релизьте»). Не знаю что говорит Капитан, а вот man sshfs говорит: «On the remote computer the SFTP subsystem of SSH is used.», так что SSHFS = FS over SSH, rather SFTP;) 2.

Так всё равно надо если не заливать, так копировать (что в свете п. 1 одно и то же) с рабочего каталога в корневой дев-сервера или имеете в виду что и работать надо на удаленном? То есть рабочая копия проекта непосредственно отображается на http?

Тоже можно, наверное, но у нас почему-то не принято, чтобы какие-то «левые» файлы потенциально были доступны по http даже в локалке. Если код готов к релизу, что ему делать на staging? Релизить надо!:)В основном, отдаётся на откуп админам, чтоб убедиться что ничего не рухнет за выходные:) И для показа заказчику, если ему интересно. У нас релиз производится каждые 2-е недели, и «готов к релизу» — имелось в виду, что все обозначенные задачи выполнены и всякие-разные автоматизированные тесты пройдены.

Если упростить, то схема такова: новый спринт = новая ветка = слияние в транк = staging = production То есть, вся разработка ведётся в ветках, которые затем сливаются в транк. Хотя здесь всё зависит от применяемых в команде практик разработки — вариантов уйма. Или имеете в виду что и работать надо на удаленном?Именно. Если в этом есть насущная необходимость (хотя мне сложно её представить)., но у нас почему-то не принято, чтобы какие-то «левые» файлы потенциально были доступны по http даже в локалке.А какие у вас бывают «левые» файлы, кроме служебных файлов используемой IDE? К тому же, если править файлы по FTP — не проблема, то почему править по SSHFS — проблема?

У нас немного по другому: новое задание(фича или баг)-новая ветка-слияние в staging ветку (и деплой на staging-сервер)-«ручное» тестирование/показ заказчику-слияние в транк (и деплой на продакшн) Служебные файлы ide, служебные файлы svn, тесты, различные данные для инициализации БД, документация и т. Не править файлы по фтп, а править локально и средствами ide заливать по (s)ftp на дев-сервер (или «заливать» копированием), информация по (s)ftp серверу хранится в проекте, то есть открывая проект как бы автоматически подключаешься к серверу, а удалённо монтировать надо отдельно «ручками». Нет, в NetBeans такого вроде бы нет, логически проект хранится в локальной ФС. Есть возможность вручную или автоматически (по сохранению, по запуску приложения) заливать файлы проекта на удалённый сервер по (s)ftp. Нет даже возможности синхронизации:( Или залить файл(ы) на сервер, или скачать файлы с сервера, даже просмотреть на сервере нельзя (собственно поэтому используем ftp-клиенты для деплоя на продакшн, у них функциональность больше) Главная проблема, по-моему, лишние телодвижения: вместо «сделал-залил-проверил-поправил-залил-проверил-закоммитил» нужно будет «сделал-закоммитил-»выкатил'-проверил-поправил-закоммитил-«выкатил»-проверил' и чем больше итераций «поправил-проверил», тем больше «оверхид». Хотя, если разберёмся с хуками в SVN и закоммитил-«выкатил» можно будет автоматизировать, то «залил» в нашем обычном сценарии можно будет заменить на «закоммитил», отказавшись от ftp на рабочих местах. Контроль версий есть, просто коммитится не каждый чих по типу «блин, пропустил запятую», а какая-то логически законченная (под)задача, типа «сделал регистрацию пользователей», «сделал восстановление пароля», «сделал аутентификацию», «сделал профиль», «сделал „запомнить меня“», «причесал код, пошло на staging» Исторически сложилось, что сервера под freebsd, а разработка под linux/windows.

Как мне рассказывали, были какие-то нюансы какого-то приложения, что под фряхой оно работало как-то не так, как под linux и убили много времени, чтобы понять это, после чего приняли решения, что дев-сервера должны быть тоже под фрей, а народ не захотел иметь её на десктопах. Только NetBeans. Постоянно пользуюсь Ctrl+o (поиск по индексу классов), Ctrl+r (быстрое переименование имён чего угодно в рамках файла), Alt+Shift+(up down left right) (двигает строки), Ctrl+Shift+(up down) (дублирует строку/строки вверх и вниз), Ctrl+Shift+m и Ctrl+Shift+ (ставим метки и прыгаем по ним). Автокомплит превосходен (Ctrl+space), подробная подсказка листается Ctrl+(up down).

Очень удобно и быстро работать с svn, mercurial, смотреть diff всех изменений перед коммитом, Можно дублировать окно редактора одного большого файла и скомпоновать как удобно для редактирования в разных местах. Поддерживается полноэкранный режим (Alt+Shift+Enter) для хардкодинга в наушниках после чашки кофе. Течёт память, поэтому в обед перезагружаю, продолжаю с того же места. Ничего пока лучше не видел.

Уже как пару месяцев назад, тихо и без шумихи вышла Beta-версия замечательной среды разработки. Напомню, что NetBeans — это продвинутая среда разработки, позволяющая разрабатывать приложения на таких языках как: PHP, C/C, Python, JavaScript и даже Ада. Хотя NetBeans IDE является свободной средой разработки и проект разрабатывается сообществом разработчиков-энтузиастов, но по качеству и возможностям не уступает коммерческим IDE. Из коробки поддерживается:. рефакторинг и профилирование.

выделение синтаксических конструкций цветом. автодополнение на лету. управление всеми популярными системами контроля версий Что нового в NetBeans 8.0 Beta?. Поддержка Java SE 8. Поддержка Java ME 8.

Расширенная поддержка HTML5. Поддержка Tomcat 8.0. Поддержка PHP 5.5. Множество улучшений всей IDE Редактор. направляющие линии для отступов Наконец-то появились пунктирные линии, позволяющие лучше различать блоки кода, отделенные табуляцией. Они отображаются по умолчанию.

Цвет можно изменить в настройках IDE. Надо бы уточнить: В моем примере виртуальный оказался не «пробел», а «конец строки» и курсор прыгает по концам строк.

Так что самого виртуального пробела не видел. Хотя, при этом позиция сохраняется.

Если строки имеют длину: 20, 10, 18 символов и мы стояли на символе 15 первой строки, то два раза вниз и мы будем на 15 символе 3й строки. Как-то так:. вниз:. потом еще вниз:.

Лично для меня мощным плюсом NetBeans всегда была очень качественная интеграция с maven. С Gradle полагаю ситуация аналогичная, хотя пользовался я им всего пару раз пока. Из личного опыта hibernate, когда пришлось в нём поковыряться, я смог собрать только в NetBeans, IDEA не осилила (можно читать как «я не осилил собрать его в идее», что для меня суть равнозначно). Вообще по плотности багов на единицу функционала у меня к NetBeans пожалуй меньше всего претензий, да функционала меньше чем в IDEA, но если он есть, то он почти наверняка рабочий. Просто глючил безбожно.

Автодополнение - выбор класса - вставка импорта. На последнем этапе иногда были глюки — подставлялось полное имя класса вместо пакета (хотя конфликтов не было), в php версии настроить вместо подстановки полного имени класса use конструкцию оказалось невозможным. Вроде в настройках были какие-то опции, но они настраивали не то и не так. Это вроде было еще в 7 версии. Нет возможность автоматического удаления неиспользуемых импортов. По-моему в PHP версии были проблемы с doc-комментариями с типом переменной в коде /. @var MyClass $var./, NetBeans не понимал, что переменная имеет тип MyClass и нужно автодополнять это дело.

Я понимаю, что там не только бухгалтерия, но и что-то ERP-подобное есть Ну вот, точно не знаете, а говорите. 1С — это фреймворк, основной ценностью которого являются готовые классы, удобные для разработки бизнес-приложений, связанные между собой единой системой типов. Архитектурно это очень интересная система, ориентированная на бизнес-приложения, которая предлагает очень много чего «из коробки». Почему-то основным аргументом против 1С Труъ-программисты (сарказм) считают написание операторов на русском языке. Коллеги, давайте будем профессионалами. Язык программирования — это не главное.

Обновить По

Главное — умение сделать полезную вещь, которая хорошо решает поставленные задачи. На 1С вы не напишете 3D игру, но легко напишете складскую систему с reporting, ORM и веб-мордой за пару часов. Я не агитирую «за 1С», я говорю о том, что дискриминация по «языковому» принципу — это непрофессионально. Почему-то основным аргументом против 1С Труъ-программисты (сарказм) считают написание операторов на русском языке. Про операторы на русском языки и имена переменных, начинающихся на П я не говорил вообще ничего. Это такие же соглашения как, например, написание приватных переменных с в python (var) или констант капсом через подчеркивания в ruby (SOMECONST).

С чем вы не согласны? С тем, что 1С, внутренний язык SAP'а и т. Являются внутренними DSL, пригодными только для соответствующих систем? А человека, который пишет расчеты в Mathematica/Matlab вы тоже называете программистом?

Или ваяющего бизнес-процессы в BPEL/BPMN? Или делающего расчеты в Autocad, SolidWorks etc? Я не согласен вот с этим: Ваяют на своем DSL'е и ничего другого видеть не желают Фраза, сказанная в контексте беседы о том, что php-программисты — отстой, а 1с-ники вообще бухгалтера. Вот с этим не согласен. А с тем, что 1С-язык — это DSL я не спорил. Дело в том, что 1С хоть и можно отнести к DSL, но тем не менее, domain-specific там классы фреймворка, а не язык. Программирование там самое обыкновенное, императивное.

Хорошие программисты 1С часто знают как надо строить бизнес-решения лучше бухгалтеров и экономистов, такова особенность их работы. Считать их программистами или нет — мне не важно, кем хотите, тем считайте. Инженерное мышление и общая IT-шная грамотность там нужны так же, как и везде.

Posted on