Pull to refresh
59
0
Пуштаев Вадим @pushtaev

Пользователь

Send message

Подборка @pythonetc, март 2019

Reading time3 min
Views6.8K

Это десятая подборка советов про Python и программирование из моего авторского канала @pythonetc.

Предыдущие подборки.

0_0


0_0 — полностью корректное выражение на Python.
Читать дальше →
Total votes 41: ↑40 and ↓1+39
Comments11

Tips and tricks from my Telegram-channel @pythonetc, February 2019

Reading time6 min
Views1.7K
image

It is new selection of tips and tricks about Python and programming from my Telegram-channel @pythonetc.

Previous publications.

Structures comparing


Sometimes you want to compare complex structures in tests ignoring some values. Usually, it can be done by comparing particular values with the structure:
Read more →
Total votes 19: ↑18 and ↓1+17
Comments0

Подборка @pythonetc, февраль 2019

Reading time6 min
Views7.1K

Это девятая подборка советов про Python и программирование из моего авторского канала @pythonetc.

Предыдущие подборки.

Сравнение структур


Иногда при тестировании бывает нужно сравнить сложные структуры, игнорируя некоторые значения. Обычно это можно сделать, сравнивая конкретные значения из такой структуры:
Читать дальше →
Total votes 43: ↑40 and ↓3+37
Comments7

Подборка @pythonetc, январь 2019

Reading time3 min
Views8.5K


Это восьмая подборка советов про Python и программирование из моего авторского канала @pythonetc.

Предыдущие подборки:


Читать дальше →
Total votes 39: ↑38 and ↓1+37
Comments0

Подборка @pythonetc, декабрь 2018

Reading time2 min
Views6.6K


Это седьмая подборка советов про Python и программирование из моего авторского канала @pythonetc.

Предыдущие подборки:

Читать дальше →
Total votes 35: ↑35 and ↓0+35
Comments4

Модульное тестирование и Python

Reading time10 min
Views19K


Меня зовут Вадим, я ведущий разработчик в Поиске Mail.Ru. Я поделюсь нашим опытом проведения модульного тестирования. Статья состоит из трёх частей: в первой расскажу, чего мы вообще добиваемся с помощью модульного тестирования; во второй части описаны принципы, которым мы следуем; а из третьей части вы узнаете, как упомянутые принципы реализованы на Python.
Читать дальше →
Total votes 32: ↑31 and ↓1+30
Comments5

Подборка @pythonetc, ноябрь 2018

Reading time3 min
Views7.3K

Это шестая подборка советов про Python и программирование из моего авторского канала @pythonetc.

Предыдущие подборки:


Читать дальше →
Total votes 30: ↑29 and ↓1+28
Comments2

Подборка @pythonetc, июнь 2018

Reading time5 min
Views14K


Привет. Я веду авторский канал @pythonetc с советами про Python в частности и про программирование в целом. С этого месяца мы запускаем серию подборок с лучшими постами за месяц в переводе на русский.

Читать дальше →
Total votes 37: ↑35 and ↓2+33
Comments7

Разработка алгоритма движения лифтов

Reading time7 min
Views37K

image
© Клип "Gangnam Style"


С ростом этажности наших городов всё больше людей ежедневно пользуется лифтами. Но мало кто из нас задумывается о том, как всё это лифтовое поголовье умудряется более-менее эффективно развозить в течение дня уйму людей, особенно в часы пик. Существует ряд алгоритмов движения лифтов, которые исходят из разных условий — например минимизации времени ожидания лифта. Но давайте подумаем, как можно разработать лифтовый алгоритм.

Читать дальше →
Total votes 27: ↑26 and ↓1+25
Comments16

Детали test-first, которых так не хватало

Reading time14 min
Views26K
Все мы не раз слышали о test-first — философии разработки, которая призывает писать тесты раньше кода. Уверен, что любой, кто пытался применять этот метод на практике, сталкивался с тем, что у него просто не получается написать тест до функции (обычно в этом случае просто игнорируют эту проблему и локально нарушают test-first). Я считаю, что причина подобных провалов фундаментальна, и попытаюсь показать почему.

Для начала следует уточнить, что здесь и далее я буду говорить про тестирование функции в широком смысле слова как тестирование некоторой условной примитивной единицы кода. Оставим в стороне вопрос, какую подобную единицу нужно тестировать (например, метод или класс), на дальнейший ход рассуждения эти детали влияния не окажут. Я буду использовать выражение «тестирование функции» в этом смысле на протяжении всей статьи.

Вам может показаться, что индустрия давно разобралась со всеми проблемами, связанными с test-first, и причина всех возможных провалов лишь в том, что мы как разработчики не обладаем достаточной квалификацией для успешного применения нужных техник, а вовсе не в каких-то фундаментальных проблемах. Увы, здесь и там разные программисты задают одни и те же вопросы, как именно делать test-first, и получают порой невразумительные ответы. Думаю, без преувеличения можно сказать, что комьюнити по всему миру что-то подозревает, но многое остается недоговоренным.
Читать дальше →
Total votes 41: ↑40 and ↓1+39
Comments37

Случайность в автотестах

Reading time5 min
Views18K

Введение


Когда несколько лет назад я написал свой первый автотест, он выглядел следующим образом. В цикле 100 раз доставал из базы случайного пользователя, проводил над ним требуемую операцию и проверял, что результат меня устраивает. Это казалось достаточно логичным: не могу же я проводить тест на одном пользователе, этого недостаточно, это ничего не докажет.

С тех пор прошло значительное время, я успел поработать над несколькими разными проектами на разных языках и даже сменить команду. Сегодня я могу с уверенностью сказать: вы не должны использовать случайность в своих автотестах, кроме случаев, которые будут оговорены отдельно. И я расскажу почему.
Читать дальше →
Total votes 63: ↑51 and ↓12+39
Comments31
2

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity