Как всегда на высоте! Олег, я вот тут книжечку купил занимательную "Python Разработка на основе тестирования" Гарри Персиваль. Но не все получается, а спросить не у кого... Было бы круто, если бы ты со своим талантом преподавателя сделал бы курс по TDD на ее основе. Я бы купил не парясь тысяч за 5-7. А если бы курсы открыл с выдачей видеоматериалов, домашек и консультациями по скайпу, например - думаю, что легко бы набрал группу желающих и там уже около 15000 мог бы собирать. Запиши ролик-опросник - полагаю моя просьба найдет поддержку. Заодно и цену предложенную исследуешь. По TDD лично я ничего не нашел из наших инфобизнесменов.
Полезное видео. Хотелось бы добавить, что, наверное, не следует возвращать ноль если на вход пришла строка. С одной стороны, конечно, функция получилась бронебойная, а с другой стороны получился JS)
Спасибо за уроки. Но есть вопросы, не показано, каким образом осуществлять "откат" на предыдущие версии. Например, и как при слиянии отказаться от каких то изменений.
Не могу понять, как это работает, ведь os.getcwd() вернёт абсолютный путь к директории tests. По логике вещей тут должно быть что-то типа sys.path.append(os.path.dirname(os.getcwd()))
возможно, у автора при запуске через atom настроено автоматическое добавление в PYTHONPATH рут директории. Например, у меня в Pycharm так настроено. Если запускать через консоль, то да - там нужно делать как указанно у вас через os.path.dirname
@@zaemiel наоборот со звуком клавиатуры лучше, интуитивно ощущается в какой части экрана идет печатание. так что не слушайте никого, продолжайте в таком же духе.
нет, это не рефакторинг. Чтобы ответить на вопрос почему это не рефакторинг, вам придется ответить на вопрос зачем это нужно. И назвать как минимум 3 причины почему этого нельзя делать.
мы же не о сокращении дробей говорим. Мы говорим о рефакторинге кода. Разве вы не видите, что 10 - это переменная? Во всех случаях используется только одна формула, в которой меняется масса m и масса ингридиента. Если рецепт будет другим (а он может быть другим), то разграмовка по игридиентам изменится. Более того, могут добавиться другие ингридиенты. Если сделать так, как предлагаете вы, то потеряется смысл формулы. Из нее автоматом выпадет важный элемент. И чего вы этим добиваетесь? Поэтому я сразу спросил о целях этого сокращения. В данном конкретном случае рефакторингом было бы объединить ВСЕ функции по расчетам разграмовки В ОДНУ функцию. Вот и придумайте, как это сделать. Не забудьте, кстати, вначале тесты написать.
Отличное видео. Спасибо! Был бы благодарен, если бы бы развернутая серия по тестам.
О господи, единственное понятное видео о тестах на ютубе! Спасибо!
Очень крутые видео! Было бы здорово увидеть аналогичную серию по хукам.
Спасибо большое за внятный материал! Хоть сам и прогаю на C#, было очень интересно и главное, понятно.
Спасибо за видео. Очень жду серию про тестирование и серию про докер.
Ащще отлично, спасибо, Олег!
Спасибо, рад, что вам нравится
Отличные видео, спасибо. Сможете еще по Докеру сделать?
Спасибо. Да, как-нибудь дойдем и до Докера
Очень интересно было бы посмотреть еще про тестирование , особенно на pytest
Как всегда на высоте!
Олег, я вот тут книжечку купил занимательную "Python Разработка на основе тестирования" Гарри Персиваль. Но не все получается, а спросить не у кого...
Было бы круто, если бы ты со своим талантом преподавателя сделал бы курс по TDD на ее основе. Я бы купил не парясь тысяч за 5-7. А если бы курсы открыл с выдачей видеоматериалов, домашек и консультациями по скайпу, например - думаю, что легко бы набрал группу желающих и там уже около 15000 мог бы собирать. Запиши ролик-опросник - полагаю моя просьба найдет поддержку. Заодно и цену предложенную исследуешь. По TDD лично я ничего не нашел из наших инфобизнесменов.
За капокопполу отдельный лайк!
Спасибо, хорошее видео.
Рад, что вам нравится
Спасибо, успехов в ваших начинаниях.
видео про GIT - да
видео про TDD - да
Вот тебе тест кейс, подумай где он упадет)
Полезное видео. Хотелось бы добавить, что, наверное, не следует возвращать ноль если на вход пришла строка. С одной стороны, конечно, функция получилась бронебойная, а с другой стороны получился JS)
Просто пример.
в JS не пустая строка возвращает 1, а пустая 0.
Спасибо за уроки. Но есть вопросы, не показано, каким образом осуществлять "откат" на предыдущие версии. Например, и как при слиянии отказаться от каких то изменений.
Не могу понять, как это работает, ведь os.getcwd() вернёт абсолютный путь к директории tests. По логике вещей тут должно быть что-то типа sys.path.append(os.path.dirname(os.getcwd()))
Думаю это потому, что Олег вызывает тесты из корневой папки проекта.
возможно, у автора при запуске через atom настроено автоматическое добавление в PYTHONPATH рут директории. Например, у меня в Pycharm так настроено.
Если запускать через консоль, то да - там нужно делать как указанно у вас через os.path.dirname
Если бы еще проджакт менеджеры понимали всю необходимость тестирования, а то "это же трата времени"
я думаю их место на кассе в магните, если уж нет нужной квалификации
Добавлю взгляд на TDD с другой стороны баррикад: th-cam.com/video/sLWURdgEcrI/w-d-xo.html
у меня не импортировалось как у автора:
import sys
sys.path.append('../')
этот код решил проблему, и только один модуль пришлось импортировать.
Спасибо, помогло
у меня эта конструкция не работала
sys.path.append(os.getcwd())
from main import *
сработала
from testing.main import *
Дело, вероятно, в том, из какой директории запускался код. При запуске из testing нормально всё отработало.
Короче, Склифосовский
можете как нибудь убрать звуки нажатие клавиш клавиатуры?
И еще почему не юзаете автодополнение даже в баше
автодополнение в терминале я использую и это не bash.
Звуки клавы убрать не могу и, честно говоря, не вижу в этом никакого практического смысла.
@@zaemiel наоборот со звуком клавиатуры лучше, интуитивно ощущается в какой части экрана идет печатание.
так что не слушайте никого, продолжайте в таком же духе.
return int(m / 100)
Что это и к чему это?
рефакторинг
нет, это не рефакторинг.
Чтобы ответить на вопрос почему это не рефакторинг, вам придется ответить на вопрос зачем это нужно.
И назвать как минимум 3 причины почему этого нельзя делать.
не вижу проблемы сократить дробь, ибо 10 * m / 1000 == m / 100
мы же не о сокращении дробей говорим. Мы говорим о рефакторинге кода.
Разве вы не видите, что 10 - это переменная?
Во всех случаях используется только одна формула, в которой меняется масса m и масса ингридиента.
Если рецепт будет другим (а он может быть другим), то разграмовка по игридиентам изменится. Более того, могут добавиться другие ингридиенты.
Если сделать так, как предлагаете вы, то потеряется смысл формулы. Из нее автоматом выпадет важный элемент. И чего вы этим добиваетесь? Поэтому я сразу спросил о целях этого сокращения.
В данном конкретном случае рефакторингом было бы объединить ВСЕ функции по расчетам разграмовки В ОДНУ функцию.
Вот и придумайте, как это сделать.
Не забудьте, кстати, вначале тесты написать.
Что то не догнал почему это в гит флоу
видосы олега нравятся, но честно, по тестам очень слабо