SlideShare a Scribd company logo
1 of 18
Интегрированная среда
разработки
IDE (англ. Integrated development environment)
Интегрированная среда
разработки
● система программных средств, используемая программистами для
разработки программного обеспечения (ПО).
● Интегрированные среды разработки были созданы для того, чтобы
максимизировать производительность программиста благодаря тесно
связанным компонентам с простыми пользовательскими
интерфейсами.
Среда разработки включает в
себя:
● текстовый редактор
● компилятор и/или интерпретатор
● средства автоматизации сборки
● отладчик
Иногда содержит также средства
для интеграции с:
● системой контроля версии
● базой данных
● графическим конструктором
Популярные среды для Java и
C++/C#
Java:
● IntelliJ IDEA
● Eclipse
● NetBeans IDE
С++/С#:
● C++ Builder
● Microsoft Visual Studio
Другие:
● Delphi
● ...
Важные элементы и свойства:
● сode style
● автозаполнение
● рефакторинг кода
● плагины
● дебаггер
● горячие клавиши
● подвсетка кода
Code style
● набор правил и соглашений, используемых при написании исходного
кода на некотором языке программирования
● наличие общего стиля программирования облегчает понимание и
поддержание исходного кода, написанного более чем одним
программистом
Code style
Стандарт оформления кода описывает:
● способы выбора названий и используемый регистр символов для имён
переменных и других идентификаторов:
o запись типа переменной в её идентификаторе (венгерская нотация) и
o регистр символов (нижний, верхний, «верблюжий», «верблюжий» с
малой буквы), использование знаков подчёркивания для разделения
слов
● стиль отступов при оформлении логических блоков — используются ли
символы табуляции, ширина отступа
● способ расстановки скобок, ограничивающих логические блоки;
● использование пробелов при оформлении логических и арифметических
выражений
● стиль комментариев и использование документирующих комментариев
Автозаполнение
Автозаполнение — это то, что выгодно отличает
любую IDE от notepad и существенно упрощает
жизнь программиста.
Рефакторинг кода
● процесс изменения внутренней структуры программы, не
затрагивающий её внешнего поведения и имеющий целью
облегчить понимание её работы
● цель рефакторинга - сделать код программы легче для
понимания, без этого рефакторинг нельзя считать успешным
Причины применения
рефакторинга
Рефакторинг нужно применять постоянно при разработке
кода!!!
Основными стимулами его проведения являются
следующие задачи:
● необходимо добавить новую функцию, которая
недостаточно укладывается в принятое архитектурное
решение
● необходимо исправить ошибку, причины возникновения
которой сразу не ясны
● преодоление трудностей в командной разработке,
которые обусловлены сложной логикой программы
Признаки плохого кода
● дублирование кода
● длинный метод
● большой класс
● длинный список параметров
● «завистливые» функции — это метод,
который чрезмерно обращается к данным
другого объекта
● избыточные временные переменные
● несгруппированные данные
Плагины
Поддержка:
● DB
● системы контроля версии
● системы автоматической сборки
● различных фреймворков
● дополнительных функций
Дебаггер
● компьютерная программа, предназначенная для поиска ошибок в
других программах, ядрах операционных систем, SQL-запросах и
других видах кода
Горячие клавиши
Горячие клавиши
Подcветка кода
● выделение синтаксических конструкций текста с использованием
различных цветов, шрифтов и начертаний
● обычно применяется в текстовых редакторах для облегчения чтения
исходного текста, улучшения визуалього восприятия
● часто применяется при публикации исходных кодов в Интернете
Конец
Спасибо за внимание!

More Related Content

What's hot

А. Ахметов "Когда тесты пишут разработчики", DUMP-2014
А. Ахметов "Когда тесты пишут разработчики", DUMP-2014А. Ахметов "Когда тесты пишут разработчики", DUMP-2014
А. Ахметов "Когда тесты пишут разработчики", DUMP-2014it-people
 
Behat bdd для php
Behat  bdd для phpBehat  bdd для php
Behat bdd для phpAleksei Popov
 
Денис Чистяков: Workflow. Работа над проектом в Яндексе
Денис Чистяков: Workflow. Работа над проектом в ЯндексеДенис Чистяков: Workflow. Работа над проектом в Яндексе
Денис Чистяков: Workflow. Работа над проектом в ЯндексеYandex
 
Приемы эффективной разработки документации к ПО и техническим системам
Приемы эффективной разработки документации к ПО и техническим системамПриемы эффективной разработки документации к ПО и техническим системам
Приемы эффективной разработки документации к ПО и техническим системамDennis Zhuravlev (a.k.a. Crane)
 
ClubQA #2. Unit testing and TDD
ClubQA #2. Unit testing and TDDClubQA #2. Unit testing and TDD
ClubQA #2. Unit testing and TDDClub QA Kostroma
 
модульное программирование (35)
модульное программирование  (35)модульное программирование  (35)
модульное программирование (35)romachka_pole
 
C language lect_19_basics
C language lect_19_basicsC language lect_19_basics
C language lect_19_basicsRoman Brovko
 
презетация Visual basic
презетация Visual basicпрезетация Visual basic
презетация Visual basickseniya_kristina
 
внедрении Wpf в сложных системах
внедрении Wpf в сложных системахвнедрении Wpf в сложных системах
внедрении Wpf в сложных системахWhiteMbIXA
 
Взаимное влияние SCM и других средств организации разработки
Взаимное влияние SCM и других средств организации разработкиВзаимное влияние SCM и других средств организации разработки
Взаимное влияние SCM и других средств организации разработкиtssoft
 
Альтернативные способы изучения программирования с нуля
Альтернативные способы изучения программирования с нуляАльтернативные способы изучения программирования с нуля
Альтернативные способы изучения программирования с нуляCOMAQA.BY
 
Технологии разработки ПО
Технологии разработки ПОТехнологии разработки ПО
Технологии разработки ПОAnton Konushin
 
«Розробка мобільних додатків від початку створення ТЗ до релізу»
«Розробка мобільних додатків від початку створення ТЗ до релізу»«Розробка мобільних додатків від початку створення ТЗ до релізу»
«Розробка мобільних додатків від початку створення ТЗ до релізу»Stfalcon Meetups
 
Разработка веб-приложений с помощью TypeScript
Разработка веб-приложений с помощью TypeScriptРазработка веб-приложений с помощью TypeScript
Разработка веб-приложений с помощью TypeScriptStas Vyschepan
 
Solit 2013, Эволюция тестирования на Selenium, Мычко Алексей
Solit 2013, Эволюция тестирования на Selenium, Мычко АлексейSolit 2013, Эволюция тестирования на Selenium, Мычко Алексей
Solit 2013, Эволюция тестирования на Selenium, Мычко Алексейsolit
 
C++ осень 2012 лекция 12
C++ осень 2012 лекция 12C++ осень 2012 лекция 12
C++ осень 2012 лекция 12Technopark
 

What's hot (18)

А. Ахметов "Когда тесты пишут разработчики", DUMP-2014
А. Ахметов "Когда тесты пишут разработчики", DUMP-2014А. Ахметов "Когда тесты пишут разработчики", DUMP-2014
А. Ахметов "Когда тесты пишут разработчики", DUMP-2014
 
Behat bdd для php
Behat  bdd для phpBehat  bdd для php
Behat bdd для php
 
Денис Чистяков: Workflow. Работа над проектом в Яндексе
Денис Чистяков: Workflow. Работа над проектом в ЯндексеДенис Чистяков: Workflow. Работа над проектом в Яндексе
Денис Чистяков: Workflow. Работа над проектом в Яндексе
 
Приемы эффективной разработки документации к ПО и техническим системам
Приемы эффективной разработки документации к ПО и техническим системамПриемы эффективной разработки документации к ПО и техническим системам
Приемы эффективной разработки документации к ПО и техническим системам
 
ClubQA #2. Unit testing and TDD
ClubQA #2. Unit testing and TDDClubQA #2. Unit testing and TDD
ClubQA #2. Unit testing and TDD
 
модульное программирование (35)
модульное программирование  (35)модульное программирование  (35)
модульное программирование (35)
 
Bootstrap
BootstrapBootstrap
Bootstrap
 
C language lect_19_basics
C language lect_19_basicsC language lect_19_basics
C language lect_19_basics
 
презетация Visual basic
презетация Visual basicпрезетация Visual basic
презетация Visual basic
 
внедрении Wpf в сложных системах
внедрении Wpf в сложных системахвнедрении Wpf в сложных системах
внедрении Wpf в сложных системах
 
Взаимное влияние SCM и других средств организации разработки
Взаимное влияние SCM и других средств организации разработкиВзаимное влияние SCM и других средств организации разработки
Взаимное влияние SCM и других средств организации разработки
 
Альтернативные способы изучения программирования с нуля
Альтернативные способы изучения программирования с нуляАльтернативные способы изучения программирования с нуля
Альтернативные способы изучения программирования с нуля
 
Технологии разработки ПО
Технологии разработки ПОТехнологии разработки ПО
Технологии разработки ПО
 
FlAnalyzer
FlAnalyzerFlAnalyzer
FlAnalyzer
 
«Розробка мобільних додатків від початку створення ТЗ до релізу»
«Розробка мобільних додатків від початку створення ТЗ до релізу»«Розробка мобільних додатків від початку створення ТЗ до релізу»
«Розробка мобільних додатків від початку створення ТЗ до релізу»
 
Разработка веб-приложений с помощью TypeScript
Разработка веб-приложений с помощью TypeScriptРазработка веб-приложений с помощью TypeScript
Разработка веб-приложений с помощью TypeScript
 
Solit 2013, Эволюция тестирования на Selenium, Мычко Алексей
Solit 2013, Эволюция тестирования на Selenium, Мычко АлексейSolit 2013, Эволюция тестирования на Selenium, Мычко Алексей
Solit 2013, Эволюция тестирования на Selenium, Мычко Алексей
 
C++ осень 2012 лекция 12
C++ осень 2012 лекция 12C++ осень 2012 лекция 12
C++ осень 2012 лекция 12
 

Similar to Интегрированная среда разработки

Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Yandex
 
mirror world of software development
mirror world of software developmentmirror world of software development
mirror world of software development0xffAA
 
C# Web. Занятие 14.
C# Web. Занятие 14.C# Web. Занятие 14.
C# Web. Занятие 14.Igor Shkulipa
 
#MBLTdev: Практический пример переиспользования кода. Как повысить качество и...
#MBLTdev: Практический пример переиспользования кода. Как повысить качество и...#MBLTdev: Практический пример переиспользования кода. Как повысить качество и...
#MBLTdev: Практический пример переиспользования кода. Как повысить качество и...e-Legion
 
Повышаем и следим за качеством PHP кода
Повышаем и следим за качеством PHP кодаПовышаем и следим за качеством PHP кода
Повышаем и следим за качеством PHP кодаAleksandr Makhomet
 
Code review как средство обеспечения качества программного обеспечения
Code review как средство обеспечения качества программного обеспеченияCode review как средство обеспечения качества программного обеспечения
Code review как средство обеспечения качества программного обеспеченияSQALab
 
C++ Базовый. Занятие 01.
C++ Базовый. Занятие 01.C++ Базовый. Занятие 01.
C++ Базовый. Занятие 01.Igor Shkulipa
 
Методики управления развитием ис на базе 1с
Методики управления развитием ис на базе 1сМетодики управления развитием ис на базе 1с
Методики управления развитием ис на базе 1сHelen Kopteva
 
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...Tech Talks @NSU
 
терминология vol.2
терминология vol.2терминология vol.2
терминология vol.2SBTech
 
Gradle. Новый уровень автоматизации для Android
Gradle. Новый уровень автоматизации для AndroidGradle. Новый уровень автоматизации для Android
Gradle. Новый уровень автоматизации для AndroidSQALab
 
WordPress Kitchen MeetUp Summer 2015 - Никита Галкин "Каноны современной разр...
WordPress Kitchen MeetUp Summer 2015 - Никита Галкин "Каноны современной разр...WordPress Kitchen MeetUp Summer 2015 - Никита Галкин "Каноны современной разр...
WordPress Kitchen MeetUp Summer 2015 - Никита Галкин "Каноны современной разр...WordCamp Kyiv
 
Workflow: работа над проектом в Яндексе
Workflow: работа над проектом в ЯндексеWorkflow: работа над проектом в Яндексе
Workflow: работа над проектом в ЯндексеDenis Chistyakov
 
Лучшие практики на практике
Лучшие практики на практикеЛучшие практики на практике
Лучшие практики на практикеDenis Tuchin
 
Модуль 15. Лекция 59-60.
Модуль 15. Лекция 59-60. Модуль 15. Лекция 59-60.
Модуль 15. Лекция 59-60. Yana Brodetski
 
Вебинар "Введение в процесс разработки ПО"
Вебинар "Введение в процесс разработки ПО"Вебинар "Введение в процесс разработки ПО"
Вебинар "Введение в процесс разработки ПО"Evgeniy Krivosheev
 
Dot.net building scalable java script application using react and typescript,...
Dot.net building scalable java script application using react and typescript,...Dot.net building scalable java script application using react and typescript,...
Dot.net building scalable java script application using react and typescript,...Sigma Software
 

Similar to Интегрированная среда разработки (20)

Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»
 
Slides
SlidesSlides
Slides
 
mirror world of software development
mirror world of software developmentmirror world of software development
mirror world of software development
 
C# Web. Занятие 14.
C# Web. Занятие 14.C# Web. Занятие 14.
C# Web. Занятие 14.
 
#MBLTdev: Практический пример переиспользования кода. Как повысить качество и...
#MBLTdev: Практический пример переиспользования кода. Как повысить качество и...#MBLTdev: Практический пример переиспользования кода. Как повысить качество и...
#MBLTdev: Практический пример переиспользования кода. Как повысить качество и...
 
Повышаем и следим за качеством PHP кода
Повышаем и следим за качеством PHP кодаПовышаем и следим за качеством PHP кода
Повышаем и следим за качеством PHP кода
 
Code review как средство обеспечения качества программного обеспечения
Code review как средство обеспечения качества программного обеспеченияCode review как средство обеспечения качества программного обеспечения
Code review как средство обеспечения качества программного обеспечения
 
C++ Базовый. Занятие 01.
C++ Базовый. Занятие 01.C++ Базовый. Занятие 01.
C++ Базовый. Занятие 01.
 
Методики управления развитием ис на базе 1с
Методики управления развитием ис на базе 1сМетодики управления развитием ис на базе 1с
Методики управления развитием ис на базе 1с
 
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
 
терминология vol.2
терминология vol.2терминология vol.2
терминология vol.2
 
Gradle. Новый уровень автоматизации для Android
Gradle. Новый уровень автоматизации для AndroidGradle. Новый уровень автоматизации для Android
Gradle. Новый уровень автоматизации для Android
 
WordPress Kitchen MeetUp Summer 2015 - Никита Галкин "Каноны современной разр...
WordPress Kitchen MeetUp Summer 2015 - Никита Галкин "Каноны современной разр...WordPress Kitchen MeetUp Summer 2015 - Никита Галкин "Каноны современной разр...
WordPress Kitchen MeetUp Summer 2015 - Никита Галкин "Каноны современной разр...
 
Lekcia3
Lekcia3Lekcia3
Lekcia3
 
Workflow: работа над проектом в Яндексе
Workflow: работа над проектом в ЯндексеWorkflow: работа над проектом в Яндексе
Workflow: работа над проектом в Яндексе
 
Лучшие практики на практике
Лучшие практики на практикеЛучшие практики на практике
Лучшие практики на практике
 
Ide
IdeIde
Ide
 
Модуль 15. Лекция 59-60.
Модуль 15. Лекция 59-60. Модуль 15. Лекция 59-60.
Модуль 15. Лекция 59-60.
 
Вебинар "Введение в процесс разработки ПО"
Вебинар "Введение в процесс разработки ПО"Вебинар "Введение в процесс разработки ПО"
Вебинар "Введение в процесс разработки ПО"
 
Dot.net building scalable java script application using react and typescript,...
Dot.net building scalable java script application using react and typescript,...Dot.net building scalable java script application using react and typescript,...
Dot.net building scalable java script application using react and typescript,...
 

Интегрированная среда разработки

  • 2. Интегрированная среда разработки ● система программных средств, используемая программистами для разработки программного обеспечения (ПО). ● Интегрированные среды разработки были созданы для того, чтобы максимизировать производительность программиста благодаря тесно связанным компонентам с простыми пользовательскими интерфейсами.
  • 3. Среда разработки включает в себя: ● текстовый редактор ● компилятор и/или интерпретатор ● средства автоматизации сборки ● отладчик
  • 4. Иногда содержит также средства для интеграции с: ● системой контроля версии ● базой данных ● графическим конструктором
  • 5. Популярные среды для Java и C++/C# Java: ● IntelliJ IDEA ● Eclipse ● NetBeans IDE С++/С#: ● C++ Builder ● Microsoft Visual Studio Другие: ● Delphi ● ...
  • 6. Важные элементы и свойства: ● сode style ● автозаполнение ● рефакторинг кода ● плагины ● дебаггер ● горячие клавиши ● подвсетка кода
  • 7. Code style ● набор правил и соглашений, используемых при написании исходного кода на некотором языке программирования ● наличие общего стиля программирования облегчает понимание и поддержание исходного кода, написанного более чем одним программистом
  • 8. Code style Стандарт оформления кода описывает: ● способы выбора названий и используемый регистр символов для имён переменных и других идентификаторов: o запись типа переменной в её идентификаторе (венгерская нотация) и o регистр символов (нижний, верхний, «верблюжий», «верблюжий» с малой буквы), использование знаков подчёркивания для разделения слов ● стиль отступов при оформлении логических блоков — используются ли символы табуляции, ширина отступа ● способ расстановки скобок, ограничивающих логические блоки; ● использование пробелов при оформлении логических и арифметических выражений ● стиль комментариев и использование документирующих комментариев
  • 9. Автозаполнение Автозаполнение — это то, что выгодно отличает любую IDE от notepad и существенно упрощает жизнь программиста.
  • 10. Рефакторинг кода ● процесс изменения внутренней структуры программы, не затрагивающий её внешнего поведения и имеющий целью облегчить понимание её работы ● цель рефакторинга - сделать код программы легче для понимания, без этого рефакторинг нельзя считать успешным
  • 11. Причины применения рефакторинга Рефакторинг нужно применять постоянно при разработке кода!!! Основными стимулами его проведения являются следующие задачи: ● необходимо добавить новую функцию, которая недостаточно укладывается в принятое архитектурное решение ● необходимо исправить ошибку, причины возникновения которой сразу не ясны ● преодоление трудностей в командной разработке, которые обусловлены сложной логикой программы
  • 12. Признаки плохого кода ● дублирование кода ● длинный метод ● большой класс ● длинный список параметров ● «завистливые» функции — это метод, который чрезмерно обращается к данным другого объекта ● избыточные временные переменные ● несгруппированные данные
  • 13. Плагины Поддержка: ● DB ● системы контроля версии ● системы автоматической сборки ● различных фреймворков ● дополнительных функций
  • 14. Дебаггер ● компьютерная программа, предназначенная для поиска ошибок в других программах, ядрах операционных систем, SQL-запросах и других видах кода
  • 17. Подcветка кода ● выделение синтаксических конструкций текста с использованием различных цветов, шрифтов и начертаний ● обычно применяется в текстовых редакторах для облегчения чтения исходного текста, улучшения визуалього восприятия ● часто применяется при публикации исходных кодов в Интернете