Как может помочь среда разработкипри написании приложения наZend Framework?<br />Матвеев Николай<br />Разработчик IDE PhpS...
Содержание<br />Навигация по коду<br />Автодополнение<br />Инспекция кода<br />Кодогенерация<br />Автоматизированный рефак...
Навигация по коду<br />Переход по имени<br />По именам классов<br />По именам файлов<br />По всем «символам»<br />3<br />
Навигация по коду<br />Переход по имени<br />4<br />
Навигация по коду<br />Поиск использований (find usages)<br />Где и как используется декларация?<br />Классы, методы, поля...
Навигация по коду<br />Поиск использований (find usages)<br />6<br />
Навигация по коду<br />Иерархия типа<br />7<br />
Навигация по коду<br />Иерархия метода<br />8<br />
Навигация по коду<br />Раскраска директорий<br />9<br />
Навигация по коду<br />UML<br />10<br />
Автодополнение<br />Уменьшать количество вариантов можно не только по первым буквам!<br />11<br />
Автодополнение<br />Встроенные фрагменты<br />12<br />
Автодополнение<br />SQL запросы<br />13<br />
Инспекция кода<br />Ошибки<br />Возможные ошибки<br />Нарушения стиля кодирования<br />«На лету» и пакетный анализ<br />14...
Инспекция кода<br />Пакетный анализ<br />15<br />
Инспекция кода<br />Неопределенная переменная<br />16<br />
Инспекция кода<br />Неиспользуемая переменная<br />17<br />
Инспекция кода<br />Недостижимый код<br />18<br />
Инспекция кода<br />Несоответствие типа параметра<br />Ожидаемый тип параметра<br />Типовая аннотация PHPDoc<br />Type hin...
Кодогенерация<br />Средства среды разработки<br />Геттеры и сеттеры<br />Методы, которые могут быть или должны быть переоп...
Кодогенерация<br />Zend Tool<br />21<br />
Автоматизированный рефакторинг<br />Рефакторинг— изменение внутренней структуры программы, не затрагивающие её внешнего по...
Автоматизированный рефакторинг<br />Переименование<br />Rename<br />Чем это лучше find&replace?<br />Что переименовывается...
Автоматизированный рефакторинг<br />Выделение функции/метода<br />Extract Function/Method<br />24<br />
Автоматизированный рефакторинг<br />Выделение переменной/константы/поля<br />Introduce Variable/Constant/Field<br />Extrac...
Автоматизированный рефакторинг<br />Встраивание переменной<br />Inline Variable<br />26<br />
Автоматизированный рефакторинг<br />Еще рефакторинги<br />Реализованы<br />Перемещение (Move)<br />Безопасное удаление (Sa...
Спасибо! Вопросы?<br />28<br />
Upcoming SlideShare
Loading in …5
×

ZFConf 2011: Как может помочь среда разработки при написании приложения на Zend Framework? (Николай Матвеев)

1,384 views

Published on

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,384
On SlideShare
0
From Embeds
0
Number of Embeds
410
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

ZFConf 2011: Как может помочь среда разработки при написании приложения на Zend Framework? (Николай Матвеев)

  1. 1. Как может помочь среда разработкипри написании приложения наZend Framework?<br />Матвеев Николай<br />Разработчик IDE PhpStorm<br />JetBrains Inc.<br />1<br />
  2. 2. Содержание<br />Навигация по коду<br />Автодополнение<br />Инспекция кода<br />Кодогенерация<br />Автоматизированный рефакторинг<br />2<br />
  3. 3. Навигация по коду<br />Переход по имени<br />По именам классов<br />По именам файлов<br />По всем «символам»<br />3<br />
  4. 4. Навигация по коду<br />Переход по имени<br />4<br />
  5. 5. Навигация по коду<br />Поиск использований (find usages)<br />Где и как используется декларация?<br />Классы, методы, поля, функции...<br />5<br />
  6. 6. Навигация по коду<br />Поиск использований (find usages)<br />6<br />
  7. 7. Навигация по коду<br />Иерархия типа<br />7<br />
  8. 8. Навигация по коду<br />Иерархия метода<br />8<br />
  9. 9. Навигация по коду<br />Раскраска директорий<br />9<br />
  10. 10. Навигация по коду<br />UML<br />10<br />
  11. 11. Автодополнение<br />Уменьшать количество вариантов можно не только по первым буквам!<br />11<br />
  12. 12. Автодополнение<br />Встроенные фрагменты<br />12<br />
  13. 13. Автодополнение<br />SQL запросы<br />13<br />
  14. 14. Инспекция кода<br />Ошибки<br />Возможные ошибки<br />Нарушения стиля кодирования<br />«На лету» и пакетный анализ<br />14<br />
  15. 15. Инспекция кода<br />Пакетный анализ<br />15<br />
  16. 16. Инспекция кода<br />Неопределенная переменная<br />16<br />
  17. 17. Инспекция кода<br />Неиспользуемая переменная<br />17<br />
  18. 18. Инспекция кода<br />Недостижимый код<br />18<br />
  19. 19. Инспекция кода<br />Несоответствие типа параметра<br />Ожидаемый тип параметра<br />Типовая аннотация PHPDoc<br />Type hinting<br />Фактический тип параметра<br />Вычисляется средой разработки<br />19<br />
  20. 20. Кодогенерация<br />Средства среды разработки<br />Геттеры и сеттеры<br />Методы, которые могут быть или должны быть переопределены<br />20<br />
  21. 21. Кодогенерация<br />Zend Tool<br />21<br />
  22. 22. Автоматизированный рефакторинг<br />Рефакторинг— изменение внутренней структуры программы, не затрагивающие её внешнего поведения<br />22<br />
  23. 23. Автоматизированный рефакторинг<br />Переименование<br />Rename<br />Чем это лучше find&replace?<br />Что переименовывается<br />Декларация<br />Ссылки на нее<br />Упоминания в тексте и комментариях<br />23<br />
  24. 24. Автоматизированный рефакторинг<br />Выделение функции/метода<br />Extract Function/Method<br />24<br />
  25. 25. Автоматизированный рефакторинг<br />Выделение переменной/константы/поля<br />Introduce Variable/Constant/Field<br />Extract Local Variable(Zend Studio)<br />25<br />
  26. 26. Автоматизированный рефакторинг<br />Встраивание переменной<br />Inline Variable<br />26<br />
  27. 27. Автоматизированный рефакторинг<br />Еще рефакторинги<br />Реализованы<br />Перемещение (Move)<br />Безопасное удаление (Safe Delete)<br />Еще не реализованы<br />Изменение сигнатуры (Change Signature)<br />Встраивание метода (Inline method)<br />см. www.refactoring.com<br />27<br />
  28. 28. Спасибо! Вопросы?<br />28<br />

×