
Dmitry
25.01.2018
22:52:40
не надо смешивать комментарии на нескольких языках
вообще не стоит писать комментарии на чём-либо, кроме английского, если только ты не сотрудник Яндекса
зачем пустой print?
файлы .webp стоит убрать в гитигнор, всю директорию целиком
и вообще подумать нужно ли это внутри проекта

alex_smDef
25.01.2018
22:54:25
хорошо попробую.. в спешке. Пет код в общем, но да я приучаю себя к инглишу ... не всегда выходит ;)

Google

Dmitry
25.01.2018
22:54:41
что именно ты пытаешься достичь строчкой print(f)?
вообще чтение файлов какое-то дикое напрочь, почитай примеры как читать файлы на питоне внутри директории.

Gregory
25.01.2018
22:55:28

alex_smDef
25.01.2018
22:55:41
;))

Dmitry
25.01.2018
22:55:56

George
25.01.2018
22:56:48
это типа у него так логи устроены

alex_smDef
25.01.2018
22:56:51

Dmitry
25.01.2018
22:57:33
конкатенация dir + file это плохо, не надо клеить пути методами предназначенными для строк.
используй path.join или что получше

George
25.01.2018
22:58:14
open() возвращает итерируемый объект файла, принт не напечатает содержимое его таким образом, и имя файла тоже

Serge
25.01.2018
22:58:37

alex_smDef
25.01.2018
22:58:38
;)) хах... спросил про строчку, получил уже код ревью...спасибо конечн)), но я пока на дизайном не заморачивался, накидываю просто что в голову идет
для себя * ... пока что

Dmitry
25.01.2018
22:59:17

Google

George
25.01.2018
22:59:19
а вот print(*f), кстати, напечатает

Serge
25.01.2018
22:59:51

alex_smDef
25.01.2018
23:00:06
но в будущем учту, что полезно код оформить чтоб от фидбека не краснеть

Vitali K.
25.01.2018
23:00:14
Я не против комментов на русском и обсуждения PR на русском
Бывает понятнее че English

Dmitry
25.01.2018
23:00:48

Serge
25.01.2018
23:00:56

George
25.01.2018
23:01:20

Dmitry
25.01.2018
23:01:31

Serge
25.01.2018
23:01:36

Dmitry
25.01.2018
23:07:21
и для логов есть логгинг.
не надо использовать принты

Dmitry
25.01.2018
23:08:37

Dmitry
25.01.2018
23:09:30
ну такое
а потом твои комментарии устаревают
и начинают врать

Roman
25.01.2018
23:29:09

Dmitry
25.01.2018
23:32:31
в моём случае работало

Roman
26.01.2018
06:24:58

Hot
26.01.2018
06:29:54
Кнут за него топит. И ещё один мой коллега за него топит.

Google

Hot
26.01.2018
06:30:45
И там вроде бы несколько сложнее дело обстоит, насколько я понял.

Roman
26.01.2018
07:04:04

Roman
26.01.2018
07:07:46
что работает? пустые вызовы или tdd? Пустыми вызовами я сам регулярно пользуюсь, а tdd тут вроде кто то говорил, что использует, я не использую, хотя идея мне нравится

Roman
26.01.2018
07:08:25

Roman
26.01.2018
07:09:02
ну а почему нет. думаю работает
как раз всякие веб приложения удобно так писать. задал в селениуме что нажать и что должно получиться и вперед с песней

Некто
26.01.2018
07:27:05
Кто-нибудь использовал ansible модуль для разруливания мавен зависимостей http://docs.ansible.com/ansible/latest/maven_artifact_module.html? Желательно с нескусом 3 в связке.

Denis
26.01.2018
08:07:30

Roman
26.01.2018
08:13:09
ну я кстати не апологет tdd, но сама идея имеет право на жизнь. Нет?

Denis
26.01.2018
08:13:58
Я, если что, к тому, что это работает, да только слишком много assumptions нужно принимать если ко всему проекту подходишь с нуля с таким подходом, либо делать какую-то кодовую базу из интерфейсов, абстракций, а уже поверх TDD. BDD же тоже круто, но я так и не увидел пока ни одного проекта, где можно было бы достаточно точно описать поведенческие сценарии до имплементации
TDD это прекрасно, когда есть какой-то код вокруг, так что намокал пару классов, ассертов пару написал и вообще душа радуется

Alex
26.01.2018
08:18:35
DDD форева

Roman
26.01.2018
08:19:59
взял фичу, сделал functional test, написал юниты и дальше делаешь так, чтобы все это заработало. помогает не забывать о мелочах как в процессе разработки так и потом во время костылинга (типа забыл уже для чего я все это писал)

Lex
26.01.2018
08:21:55

Alex
26.01.2018
08:22:29

Roman
26.01.2018
08:22:47

Roman
26.01.2018
09:05:57

Denis
26.01.2018
09:12:24
мне кажется tdd будет работать только если у тебя есть спецификация и ты по ней реализуешь что-то.
В прожект менеджменте когда-то было такое явление, как use-case driven development, или как-то так. Идея состояла в том, PM/BA/PO описывает требования в виде юзкейса, с ожиданиями и исключениями. Как и на все новшества, на это был бум. ПМы имели свои формы, что позволяли описывать юзкейсы, опции, варианты поведения. Это было так сложно и не нужно, что больше мешало, чем помогало. Вот так вот забавно было
Я бы перефразировал, tdd будет работать только если у тебя есть техническая спецификация и ты по ней реализуешь что-то

Google

Dmytro
26.01.2018
09:15:24
Юзаю TDD постоянно — зачем держать в голове входные и выходные данные? К тому же позволяет действительно разбить функционал на полноценные хорошие части, потому что сам мозг, проектируя заранее тесты, отлично выбирает что и как абстрагировать от другого.
Но не на работе!
Нельзя!
:)

Danil
26.01.2018
09:16:34
Нельзя!
нельзя использовать tdd или тесты?

Denis
26.01.2018
09:16:57

Dmytro
26.01.2018
09:17:52
Это из того случая, когда ты пишешь тесты на проект, не ознакомившись с ним. Тогда я тесты не пишу, если новый проет заходит — просто действительно потом затрешь все.
Но если ты уже “не первый день”, то они тебя и ускоряют, рли.

Admin
ERROR: S client not available

Dmytro
26.01.2018
09:18:39
Часто вижу чуваков, которые какие-то даже алгоритмические действия долго пишут, советуются.
А вынеси ты это в тесты, нагрузи, и сразу решишь задачу.
Раньше я скептически к TDD относился и не верил в полезность, но заставил себя их юзать, как и Vim, как и все консольное.


Denis
26.01.2018
09:20:00
Я не редко замечал при использовании TDD, что вроде как ты написал тесты, но в процессе реализации оказывается что что-то в системе не подходит, нужно что-то новое написать, а оригинальное решение даже упростить, в следствии чего разве что поведенческие тесты оказались бы стабильными
Я скорее рассматриваю больше кейсы работы со сложной системой, даже с использованием интеграционных тестов. Т е подход, где ты действительно сначала пишешь тесты, до имплементации. Но далеко не всегда выходит так, что тебе нужно реализровать просто одну функцию/метод, увы. Необходимость работать с несколькими сущностями в рамках одной задачи накладывает риски изменения подхода к решению задачи - вот тут TDD себя не всегда оправдывает


Тимур
26.01.2018
09:24:53

Denis
26.01.2018
09:30:34

Тимур
26.01.2018
09:32:59


Denis
26.01.2018
09:41:42
м, а я просто больше в контексте юнитов это воспринимаю чем интерационки
А с юнитами то ещё больше простора ? Я в процессе исполнения задачи могу решить что всё-таки какой-то иной подход более выгодный в силу новых найденных фактов при работы с каким-то экстернальным сервисом. В результате возвращаешься к тестам, которые переписываешь. Потому у меня больше прижился такой вариант: если это blackbox, то TDD юнитами идеально подходит, иначе сначала необходимо либо детальное исследование задачи, либо proof-of-concept, который уже обрастает тестами

Roman
26.01.2018
10:32:19
внезапно, pypy умеет векторизовать python-код

Chikiro
26.01.2018
10:33:34
Юнит тесты же нужны, чтобы не запускать весь проект целиком и не тыкать руками для проверки нового кода. Набросать немного юнит-тестов, запустить, поправить код.

Google

Dmitry
26.01.2018
10:34:44
хм, похоже чтобы включить нужно всё-таки флаг передать --jit vec=1

Roman
26.01.2018
10:51:43

Denis
26.01.2018
10:54:44
Юнит тесты же нужны, чтобы не запускать весь проект целиком и не тыкать руками для проверки нового кода. Набросать немного юнит-тестов, запустить, поправить код.
Тесты нужны, TDD и BDD это очень хорошо и важно. Проблема в том, что проект делать надо, не всегда, не на всех стадиях проекта есть возможность в принципе писать тесты. Есть у заказчика деньги на месяц твоей работы, уж лучше пусть оно будет иногда падать, но покажет даст business value, чем не будет проекта вовсе

ultranoise ?
26.01.2018
10:56:57
вечная битва тестов и бизнеса в условиях плохо отлаженных процессов

Stepan
26.01.2018
11:25:02
Тесты чудесно работают для бэкэнда и библиотек, но для UI все грустно. Те TDD по определению не работает для UI так как UI пляшет не от API, а просто писать тесты чтобы зафиксировать функциональность и ловить регрессии тоже дело не благодарное - очередной редизайн и все выкидывать нафиг. Для себя решил, что если тестировать UI то только снэпшотами которые легко перегенерить.

Roman
26.01.2018
11:55:53

Stepan
26.01.2018
11:57:26
вообще от проекта конечно зависит, если это старый и взрослый софт то да, тесты на ui можно и нужно писать, а если продукт все еще материализуется то лучше даже не начинать

Denis
26.01.2018
12:03:01

Roman
26.01.2018
12:03:27
если редизайн меняет функциональность, то само собой надо менять тесты. причем, согласно tdd с замены тестов и надо начать )

Denis
26.01.2018
12:04:37
В проектах сталкивались с кейсами, когда под UI писали тесты, потом менялся дизайн, тесты просто приходилось просто удалять. Разработчик тратил 4 часа на написание тестов, 2 часа на задачу. Итого, 4 часа оказались потрачены "никуда"

Roman
26.01.2018
12:05:18
что то мне подсказывает, что методика tdd в этом не виновата )

Denis
26.01.2018
12:05:26
Именно
TDD идеален, BDD очень красив, вот только не всегда возможно построить команду из людей(PO включительно), чтобы value в этом был и это было оправдано

Roman
26.01.2018
12:09:35
это факт!

Viktor
26.01.2018
12:15:44
В продолжение темы тестирования. Подскажите, плз, можно ли в джанге (либа django-pytest + Mock) выделить под тесты отдельный кэш-сторадж в Redis? На подобие, как делается при тестах для БД — просто создаётся на лету тестовая табличка, куда всё пишется? Поясню, иногда нужно тестить моканые функции, которые работают с кэшем — было бы удобнее иметь изолированное место под эти тесты ?

amureki
26.01.2018
12:31:50


Denis
26.01.2018
12:43:56
В продолжение темы тестирования. Подскажите, плз, можно ли в джанге (либа django-pytest + Mock) выделить под тесты отдельный кэш-сторадж в Redis? На подобие, как делается при тестах для БД — просто создаётся на лету тестовая табличка, куда всё пишется? Поясню, иногда нужно тестить моканые функции, которые работают с кэшем — было бы удобнее иметь изолированное место под эти тесты ?
Там же есть бэкенд local mem storage, с ним вроде проблем не было, так что и редиска не нужна даже:
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'LOCATION': 'unique-snowflake',
}
}

Viktor
26.01.2018
12:55:23

Denis
26.01.2018
12:55:52
Нп, пиши если будут проблемы )