Как писать на php и не стать быдло-кодером

45
Как писать на PHP и не стать быдло- кодером by Kirill Kovalchuk

Upload: kirill-kovalchuk

Post on 16-Jun-2015

956 views

Category:

Software


2 download

DESCRIPTION

- почему PHP программисты снискали дурную славу; - что делать, чтобы стать хорошим программистом; - как писать идеальный код; - что такое командная разработка проекта; - учет позиции бизнеса при разработке проекта; - основные задачи, который должен решать программист;

TRANSCRIPT

Page 1: Как писать на PHP и не стать быдло-кодером

Как писать на PHP и не стать быдло-

кодеромby Kirill Kovalchuk

Page 2: Как писать на PHP и не стать быдло-кодером

Что такое программирование?

Page 3: Как писать на PHP и не стать быдло-кодером

Программирование - это процесс создания компьютерных программ.

Page 4: Как писать на PHP и не стать быдло-кодером

Что такое программирование?Programming is one of the only things in the world that you can do where you can sit down and make something new from scratch … whatever you want

© Mark Zuckerberg

Page 5: Как писать на PHP и не стать быдло-кодером

Язык программирования PHPPHP — это маленькое зло, созданное некомпетентными новичками,в то время как Perl — это большое и коварное зло, созданное умелыми, но извращёнными профессионалами.

© Jon Ribbens

Page 6: Как писать на PHP и не стать быдло-кодером

Почему PHP-программисты снискали дурную славу?

Page 7: Как писать на PHP и не стать быдло-кодером

● Освоить процедурное программирование на PHP не составляет труда

● Хорошая документация● Запустить свой первый сайт - без

проблем

Низкий порог вхождения

Уровень “программиста” — “Интересующийся”

Page 8: Как писать на PHP и не стать быдло-кодером

● Не нужно думать● Не нужно программировать● Куча плагинов

CMS

Уровень “программиста” — “Настройщик Джумлы”

Page 9: Как писать на PHP и не стать быдло-кодером

● Делаем как Вася посоветовал● Копи-паста с форумов● Много уже существующего

говнокода

Не с кого брать пример

Уровень “программиста” — “Ctrl+C – Ctrl+V”

Page 10: Как писать на PHP и не стать быдло-кодером

– Я пишу на PHP, можно ли мне искупаться в проруби на крещение?

– УТОНЕШЬ, ПЁС!

Page 11: Как писать на PHP и не стать быдло-кодером

Что делать?

Page 12: Как писать на PHP и не стать быдло-кодером

● Баги● Бессонные ночи● Красные глаза● Бессонница● Сорванные сроки● Социофобия● и т.д.

Оно мне надо?● Удовлетворение● Интерес● Творческий

процесс● Одобрение● Тебе повезло ©● $$$ :)● и т.д.

Page 13: Как писать на PHP и не стать быдло-кодером

● Синтаксис языка● ООП● Декомпозиция● и т.д.

Основы

Уровень программиста — “Новичок”

Page 14: Как писать на PHP и не стать быдло-кодером

● Клон Твиттера● Свой блог● Любой сайт на интересующую

тематику

Поставьте себе задачу

Уровень программиста — “Перспективный новичок”

Page 15: Как писать на PHP и не стать быдло-кодером

● Быстрая разработка● Учитесь на хорошем примере● Поддержка сообщества

Изучите фреймвёрк

Уровень программиста — “На правильном пути”

Page 16: Как писать на PHP и не стать быдло-кодером

● lynda.com● teamtreehouse.com● codecademy.com

Онлайн материалы

Уровень программиста — “Назад дороги нет”

Page 17: Как писать на PHP и не стать быдло-кодером

● github.com● bitbucket.com

Изучение чужого кода

Уровень программиста — “Уже в пути”

Page 18: Как писать на PHP и не стать быдло-кодером

● Работа стажером в крупной компании

● Уроки Васи● Курсы

Научите меня!

Уровень программиста — “Хочу всё знать”

Page 19: Как писать на PHP и не стать быдло-кодером

● SOLID● Паттерны проектирования● Соглашения

Будьте основательны

Уровень программиста — “Делаю всё, как надо”

Page 20: Как писать на PHP и не стать быдло-кодером

● Расширяется кругозор● Появляются новые идеи● Портирование готовых идей на PHP

Изучите другой язык

Уровень программиста — “Yeah, baby! Nerds are sexy!”

Page 21: Как писать на PHP и не стать быдло-кодером

Работа над проектом

на примере работы на одним проектом

Page 22: Как писать на PHP и не стать быдло-кодером

Идеального кода нет!● Борьба с перфекционизмом● Сначала сделать, а потом довести до

совершенства… почти довести● Пока в Виларибо прогоняют тесты

на Continius Integration сервере, в Вилабаджо уже зафигачили всё в продакшн и разгребают баги

Page 23: Как писать на PHP и не стать быдло-кодером

Просто сделай это● Хочу своего клона, который

выполнит этот таск пока я буду играть в танчики

● Один из лучших подходов к задаче – просто выполнить её

● Работа сама себя не сделает всё-равно

Page 24: Как писать на PHP и не стать быдло-кодером

Ответственность● Не бойтесь брать ответственность на

себя● Не перекладывайте её на кого-то

еще● Проявляйте инициативу● В общем, — взрослейте

Page 25: Как писать на PHP и не стать быдло-кодером

Технический долг● В какой-то момент поддерживать

существующий legacy-код станет почти невозможно

● Разработка нового кода взамен старого

● Рефакторинг● Тестирование

Page 26: Как писать на PHP и не стать быдло-кодером

Командное взаимодействие● Главное в разработке – отношения

между людьми● Все бывают не в настроении● Не будите программиста!● Вместе мы сила

Page 27: Как писать на PHP и не стать быдло-кодером

Скованные одной цепью● Вы и вся команда должны понимать

цели проекта● Позиция бизнеса - зарабатывать

деньги● Приоритетные задачи —

приоритетные

Page 28: Как писать на PHP и не стать быдло-кодером

Смотрите шире● Паттерны – это хорошо, но не

панацея ● Эспериментируйте● Ваш мир заканчивается там, где

заканчивается ваше воображение● Не будьте ретроградом и

консерватором

Page 29: Как писать на PHP и не стать быдло-кодером

Идеальный код

почти...

Page 30: Как писать на PHP и не стать быдло-кодером

SOLID● Облегчает поддержку кода● Уменьшает технический долг● Уменьшает количество хардкода

Page 31: Как писать на PHP и не стать быдло-кодером

Design Patterns● Решает типичные проблемы в

программировании● Не старайтесь использовать

паттерны там, где их не нужно использовать (там, где нет проблемы)

Page 32: Как писать на PHP и не стать быдло-кодером

TDD● Улучшает качество кода● Делает ваши классы удобными в

использовании● Сами тесты сразу являются большим

плюсом● Модифицируйте код не опасаясь его

сломать

Page 33: Как писать на PHP и не стать быдло-кодером

7 раз отмерь● Сначала подумай● UML● Mindmaps● Списки Todo

Page 34: Как писать на PHP и не стать быдло-кодером

KISS● Хороший программист не тот, кто

может написать длинный однострочник

● Хороший программист пишет понятный другим код

● Пишите обфусцированный код только для олимпиад по обфускации… или просто пишите на Perl

Page 35: Как писать на PHP и не стать быдло-кодером

DRY● WET - плохо● Shotgun surgery - типичный

антипаттерн при несоблюдении принципа DRY

● Проектирование● Рефакторинг

Page 36: Как писать на PHP и не стать быдло-кодером

Code reuse● Унификация● SOLID

Page 37: Как писать на PHP и не стать быдло-кодером

Документация● Само-документированный код● JavaDoc● Правильное именование● IDE● Ссылки на документацию

Page 38: Как писать на PHP и не стать быдло-кодером

Пишите код так, как будто сопровождать его будет

склонный к насилию психопат, который знает, где вы живете

© Martin Golding

Page 39: Как писать на PHP и не стать быдло-кодером

GTD

Page 40: Как писать на PHP и не стать быдло-кодером

Мозг● Хранит 7 +/- 2 единиц информации в

оперативной памяти● Не заставляйте мозг решать вопрос

о том, выключили вы утюг или нет● Оперативную память легко

разгрузить — просто запишите текущее состояние где-то еще

Page 41: Как писать на PHP и не стать быдло-кодером

Разгрузите мозг● Список рабочих задач и их

приоритеты● Купить молоко и хлеб● Посмотреть видео на youtube● Прочитать статью на лурке● Позвонить другу, спросить как дела

Можно не хранить постоянно в голове!

Page 42: Как писать на PHP и не стать быдло-кодером

СконцентрируйтесьОчень важно сконцентрироваться на одной задаче● Погружение (5-15 минут)● Процесс (0.5 - 2 часа)● Внешнее воздействие или усталость● Отдохните немного

Page 43: Как писать на PHP и не стать быдло-кодером

О докладе

Page 44: Как писать на PHP и не стать быдло-кодером

● Основано на своем опыте● Совет — это форма ностальгии,

способ выуживания прошлого из мусорной кучи, закрашивание свежими красками нелицеприятных моментов и переработке их в нечто более ценное, чем оно было раньше

Page 45: Как писать на PHP и не стать быдло-кодером

Обо мне

nemoden

nemodus

kirill.kovalchuk

Kirill Kovalchuk

Уровень программиста —

“Когда будет готово???”