- почему PHP программисты снискали дурную славу;
- что делать, чтобы стать хорошим программистом;
- как писать идеальный код;
- что такое командная разработка проекта;
- учет позиции бизнеса при разработке проекта;
- основные задачи, который должен решать программист;
7. Низкий порог вхождения
● Освоить процедурное программирование
на PHP не составляет труда
● Хорошая документация
● Запустить свой первый сайт - без проблем
Уровень “программиста” —
“Интересующийся”
8. CMS
● Не нужно думать
● Не нужно программировать
● Куча плагинов
Уровень “программиста” —
“Настройщик Джумлы”
9. Не с кого брать пример
● Делаем как Вася посоветовал
● Копи-паста с форумов
● Много уже существующего говнокода
Уровень “программиста” —
“Ctrl+C – Ctrl+V”
10. – Я пишу на PHP, можно
ли мне искупаться в
проруби на крещение?
– УТОНЕШЬ, ПЁС!
13. Основы
● Синтаксис языка
● ООП
● Декомпозиция
● и т.д.
Уровень программиста —
“Новичок”
14. Поставьте себе задачу
● Клон Твиттера
● Свой блог
● Любой сайт на интересующую тематику
Уровень программиста —
“Перспективный новичок”
15. Изучите фреймвёрк
● Быстрая разработка
● Учитесь на хорошем примере
● Поддержка сообщества
Уровень программиста —
“На правильном пути”
16. Онлайн материалы
● lynda.com
● teamtreehouse.com
● codecademy.com
Уровень программиста —
“Назад дороги нет”
17. Изучение чужого кода
● github.com
● bitbucket.com
Уровень программиста —
“Уже в пути”
18. Научите меня!
● Работа стажером в крупной компании
● Уроки Васи
● Курсы
Уровень программиста —
“Хочу всё знать”
19. Будьте основательны
● SOLID
● Паттерны проектирования
● Соглашения
Уровень программиста —
“Делаю всё, как надо”
20. Изучите другой язык
● Расширяется кругозор
● Появляются новые идеи
● Портирование готовых идей на PHP
Уровень программиста —
“Yeah, baby! Nerds are sexy!”
22. Идеального кода нет!
● Борьба с перфекционизмом
● Сначала сделать, а потом довести до
совершенства… почти довести
● Пока в Виларибо прогоняют тесты на
Continius Integration сервере, в Вилабаджо
уже зафигачили всё в продакшн и
разгребают баги
23. Просто сделай это
● Хочу своего клона, который выполнит
этот таск пока я буду играть в танчики
● Один из лучших подходов к задаче –
просто выполнить её
● Работа сама себя не сделает всё-равно
24. Ответственность
● Не бойтесь брать ответственность на себя
● Не перекладывайте её на кого-то еще
● Проявляйте инициативу
● В общем, — взрослейте
25. Технический долг
● В какой-то момент поддерживать
существующий legacy-код станет почти
невозможно
● Разработка нового кода взамен старого
● Рефакторинг
● Тестирование
26. Командное взаимодействие
● Главное в разработке – отношения между
людьми
● Все бывают не в настроении
● Не будите программиста!
● Вместе мы сила
27. Скованные одной цепью
● Вы и вся команда должны понимать цели
проекта
● Позиция бизнеса - зарабатывать деньги
● Приоритетные задачи — приоритетные
28. Смотрите шире
● Паттерны – это хорошо, но не панацея
● Эспериментируйте
● Ваш мир заканчивается там, где
заканчивается ваше воображение
● Не будьте ретроградом и консерватором
30. SOLID
● Облегчает поддержку кода
● Уменьшает технический долг
● Уменьшает количество хардкода
31. Design Patterns
● Решает типичные проблемы в
программировании
● Не старайтесь использовать паттерны
там, где их не нужно использовать (там,
где нет проблемы)
32. TDD
● Улучшает качество кода
● Делает ваши классы удобными в
использовании
● Сами тесты сразу являются большим
плюсом
● Модифицируйте код не опасаясь его
сломать
33. 7 раз отмерь
● Сначала подумай
● UML
● Mindmaps
● Списки Todo
34. KISS
● Хороший программист не тот, кто может
написать длинный однострочник
● Хороший программист пишет понятный
другим код
● Пишите обфусцированный код только
для олимпиад по обфускации… или
просто пишите на Perl
35. DRY
● WET - плохо
● Shotgun surgery - типичный антипаттерн
при несоблюдении принципа DRY
● Проектирование
● Рефакторинг
40. Мозг
● Хранит 7 +/- 2 единиц информации в
оперативной памяти
● Не заставляйте мозг решать вопрос о том,
выключили вы утюг или нет
● Оперативную память легко разгрузить —
просто запишите текущее состояние где-
то еще
41. Разгрузите мозг
● Список рабочих задач и их приоритеты
● Купить молоко и хлеб
● Посмотреть видео на youtube
● Прочитать статью на лурке
● Позвонить другу, спросить как дела
Можно не хранить постоянно в голове!
42. Сконцентрируйтесь
Очень важно сконцентрироваться на одной
задаче
● Погружение (5-15 минут)
● Процесс (0.5 - 2 часа)
● Внешнее воздействие или усталость
● Отдохните немного
44. ● Основано на своем опыте
● Совет — это форма ностальгии, способ
выуживания прошлого из мусорной кучи,
закрашивание свежими красками
нелицеприятных моментов и переработке
их в нечто более ценное, чем оно было
раньше
45. Обо мне
nemoden
nemodus
kirill.kovalchuk
Kirill Kovalchuk
Уровень программиста —
“Когда будет готово???”