Следующий доклад с Pixonic DevGAMM Talks, который мы расшифровали, немного философский — это выступление Константина Гладышева. Он Lead Game Programmer в 1C Game Studios и рассказывал о принципе управления сложностью разработки в контексте всего продукта, а не отдельных фичей. И на примерах показал, почему главное в разработке — это определить, чего делать не надо. Про другие доклады можно почитать по ссылкам в конце статьи.
Рубрика «рефакторинг» - 9
Принцип KISS в разработке
2018-10-29 в 12:30, admin, рубрики: Блог компании Pixonic, геймдев, игры, код, конференции, проектирование, Проектирование и рефакторинг, разработка, разработка игр, рефакторинг, управление, управление разработкой, философияAndroid Go — будущий миллиард устройств и лимит в 50 МБ. Лекция Яндекса
2018-09-17 в 7:00, admin, рубрики: Блог компании Яндекс, бюджетные смартфоны, Клиентская оптимизация, новый рынок, оперативная память, оптимизация приложений, разработка мобильных приложений, Разработка под android, рефакторингНовые направления развития уже знакомой платформы — это всегда интересно. С одной стороны, вы расширяете клиентскую базу, с другой — не вкладываетесь в создание софта с нуля, а используете существующие наработки. Но если направление действительно новое, со своей спецификой, то совсем малой кровью обойтись не удастся. На очередной встрече сообщества Mosdroid в нашем офисе разработчик Артур Василов рассказал об адаптации приложения «Яндекс» под систему Android Go.
В среднем, если вы не пишете калькулятор, будильник и прочее, то либо вы очень классный, большой молодец и все сделали хорошо, либо ваше приложение занимает 150–170 мегабайт.
Товар или сервис
2018-08-19 в 17:23, admin, рубрики: legacy, автоматические тесты, баги, качественный софт, программа, Программирование, продукт, Проектирование и рефакторинг, разработка, рефакторинг, сервис, тестирование, управление, Управление продуктом, управление проектами, Управление проектом, управление разработкойНа Хабре (да и в реальной IT жизни) встречаeтся много вопросов вида:
- Надо ли обновлять систему (или зависимости в приложении), если и так всё работает?
- Нужны ли вообще тесты (автотесты) в приложении (вы ведь на них потратите своё время и деньги заказчика)?
- Если ли смысл в паттернах и выделении абстракций (ведь подобное размазывает код, приводит к снижению производительности и т.д.)?
Ключевой вопрос во всех примерах ниже: что вы разрабатываете: товар или сервис? Как ни странно, но как только вы ответите на этот вопрос о товарах и сервисах, все сомнения о необходимости тестов, абстракций и т.д. отпадут сами собой.
Как Unsplash масштабируется силами небольшой команды
2018-07-12 в 15:01, admin, рубрики: Блог компании Badoo, высокая производительность, Программирование, продуктовая разработка, проектирование, Проектирование и рефакторинг, процесс разработки, процессы, разработка, Разработка веб-сайтов, разработка сервисов, рефакторинг
Фото: Alex Smith | Unsplash
Добрый день!
Меня зовут Виктор Пряжников, я работаю в отделе Features компании Badoo. Основная задача нашего отдела — разработка функционала, который видят пользователи нашего сайта и приложений. Когда мне попалась на глаза статья сооснователя Unsplash Люка Чессера, она заинтриговала меня тем, что им удаётся развивать сравнительно большой проект совсем маленькой командой. Подход автора импонирует мне своей прагматичностью и чем-то напомнил «Вы — не Google», поэтому я решил её перевести.
Одна из самых забавных вещей в разработке Unsplash — большой масштаб и популярность продукта.
В обычный день наш API обрабатывает больше 10 млн. запросов от unsplash.com и тысяч сторонних приложений, через наш пайплайн обработки данных проходят миллионы событий, в наши ленты добавляются 60 млн. обновлений, и мы обслуживаем 60 млн. изображений.
В то же время наша команда сравнительно мала: два дизайнера, три человека, работающих с фронтендом, два — с бекендом и один дата-инженер. У нас нет отдельного DevOps-инженера, и каждый член команды тратит бОльшую часть своего времени на эксперименты и разработку новых фич для обеспечения дальнейшего развития продукта.
Читать полностью »
Масштабирование Unsplash маленькой командой: 8 человек и 10 миллионов запросов в сутки
2018-07-12 в 15:01, admin, рубрики: Блог компании Badoo, высокая производительность, Программирование, продуктовая разработка, проектирование, Проектирование и рефакторинг, процесс разработки, процессы, разработка, Разработка веб-сайтов, разработка сервисов, рефакторинг
Фото: Alex Smith | Unsplash
Добрый день!
Меня зовут Виктор Пряжников, я работаю в отделе Features компании Badoo. Основная задача нашего отдела — разработка функционала, который видят пользователи нашего сайта и приложений. Когда мне попалась на глаза статья сооснователя Unsplash Люка Чессера, она заинтриговала меня тем, что им удаётся развивать сравнительно большой проект совсем маленькой командой. Подход автора импонирует мне своей прагматичностью и чем-то напомнил «Вы — не Google», поэтому я решил её перевести.
Одна из самых забавных вещей в разработке Unsplash — большой масштаб и популярность продукта.
В обычный день наш API обрабатывает больше 10 млн. запросов от unsplash.com и тысяч сторонних приложений, через наш пайплайн обработки данных проходят миллионы событий, в наши ленты добавляются 60 млн. обновлений, и мы обслуживаем 60 млн. изображений.
В то же время наша команда сравнительно мала: два дизайнера, три человека, работающих с фронтендом, два — с бекендом и один дата-инженер. У нас нет отдельного DevOps-инженера, и каждый член команды тратит бОльшую часть своего времени на эксперименты и разработку новых фич для обеспечения дальнейшего развития продукта.
Читать полностью »
Как восемь человек масштабируют highload-проект. Опыт Unsplash
2018-07-12 в 15:01, admin, рубрики: Блог компании Badoo, высокая производительность, Программирование, продуктовая разработка, проектирование, Проектирование и рефакторинг, процесс разработки, процессы, разработка, Разработка веб-сайтов, разработка сервисов, рефакторинг
Фото: Alex Smith | Unsplash
Добрый день!
Меня зовут Виктор Пряжников, я работаю в отделе Features компании Badoo. Основная задача нашего отдела — разработка функционала, который видят пользователи нашего сайта и приложений. Когда мне попалась на глаза статья сооснователя Unsplash Люка Чессера, она заинтриговала меня тем, что им удаётся развивать сравнительно большой проект совсем маленькой командой. Подход автора импонирует мне своей прагматичностью и чем-то напомнил «Вы — не Google», поэтому я решил её перевести.
Одна из самых забавных вещей в разработке Unsplash — большой масштаб и популярность продукта.
В обычный день наш API обрабатывает больше 10 млн. запросов от unsplash.com и тысяч сторонних приложений, через наш пайплайн обработки данных проходят миллионы событий, в наши ленты добавляются 60 млн. обновлений, и мы обслуживаем 60 млн. изображений.
В то же время наша команда сравнительно мала: два дизайнера, три человека, работающих с фронтендом, два — с бекендом и один дата-инженер. У нас нет отдельного DevOps-инженера, и каждый член команды тратит бОльшую часть своего времени на эксперименты и разработку новых фич для обеспечения дальнейшего развития продукта.
Читать полностью »
История рефакторинга приложения «Ситимобил»
2018-07-06 в 8:58, admin, рубрики: android, Блог компании Mail.Ru Group, Проектирование и рефакторинг, разработка мобильных приложений, рефакторинг, ситимобил
Чуть больше года назад я присоединился к команде «Ситимобил» в качестве Android-разработчика. Привыкал к новому для себя проекту, новым подходам и технологиям. На тот момент у «Ситимобил» уже была довольно длинная история, как и у принятого мной проекта, Android-приложения для заказа такси. Однако, как это часто в таких случаях бывает, код нёс в себе характерные следы старых решений. И сейчас, после успешного рефакторинга кода, хочу поделиться идеями, которые, как я считаю, могут пригодиться тем, кому предстоит рефакторить уже существующий проект. И прежде всего, это может быть полезно небольшим компаниям с небольшими командами разработчиков.
Читать полностью »
Рефакторинг программы на Go: ускорение в 23 раза
2018-07-04 в 15:01, admin, рубрики: Go, performance, Блог компании Badoo, высокая производительность, Программирование, Проектирование и рефакторинг, рефакторинг
Привет! Меня зовут Марко, я работаю в Badoo в отделе «Платформы». У нас довольно много всего написано на Go, и зачастую это критичные к производительности системы. Именно поэтому сегодня я предлагаю вашему вниманию перевод статьи, которая мне очень понравилась и, я уверен, будет вам очень полезна. Автор пошагово показывает, как он подходил к проблемам производительности и как их решал. В том числе вы познакомитесь с богатым инструментарием, доступным в Go для такой работы. Приятного чтения!
Несколько недель назад я прочитал статью «Хороший код против плохого кода в Go», где автор шаг за шагом демонстрирует рефакторинг реального приложения, решающего реальные бизнес-задачи. Она сфокусирована на превращении «плохого кода» в «хороший код»: более идиоматичный, более понятный, полноценно использующий специфику языка Go. Но автор также заявлял о важности производительности рассматриваемого приложения. Во мне взыграло любопытство: давайте попробуем её ускорить!
Читать полностью »
Цена рефакторинга
2018-06-28 в 7:02, admin, рубрики: здравый смысл, принятие, Программирование, Проектирование и рефакторинг, рефакторинг, смирение, Совершенный код, цели, цена рефакторинга, ценности
Субъективно: рефакторинг — это юношеское "заболевание". По личным наблюдениям, где-то после 26 лет начинает отпускать. Как в той старой фразе: "Кто в молодости не был революционером — у того нет сердца, кто в зрелости не стал консерватором — у того нет ума". Поэтому, пока окончательно не отпустило, попробую описать юзкейсы рефакторинга и возможные цели, которые можно достигнуть с его помощью.Читать полностью »
25 ошибок начинающего программиста
2018-06-21 в 10:15, admin, рубрики: gtd, планирование, Программирование, проектирование, Проектирование и рефакторинг, психология, рефакторинг, Совершенный код, советы разработчику, Эмоции
Научитесь выявлять их. Выработайте привычки избегать их.
Цель этой статьи не загнобить новичков за типичные ошибки, а научить выявлять их и избегать. Порядок перечисления – случайный.
От переводчика
Иногда бывает трудно объяснить простыми словами казалось бы банальные вещи: зачем использовать гит, в чем фишка инкапсуляции, зачем писать тесты, как планировать свой код, рефакторить чужой и т.д. Мне показалось, что в этой статье компактно собраны важные «гуманитарные» аспекты программирования. Что-то вроде морального кодекса, ориентира и мотиватора в принятии решений, связанных с написанием кода.
Как бы это смешно не звучало, я работал над этим текстом с середины марта, стараясь подобрать подходящие формулировки и упростить для восприятия. Ещё пару дней воевал с хабра-редактором. Поэтому, если вы найдёте недочёты, прошу не винить меня в нерадении, а оповестить, я их сразу же исправлю. Я думал украсить статью картинками, но решил, что это только раздует её до совсем неприличных размеров. Приятного чтения. Читать полностью »
