# python_test_tasks review for dmitry_kuznetsov комментарии/рекомендации к решению - code_review - можно заменить, что в текущем документе был бы полезен .dockerignore для makefile - `*.py` - исправления корректны - `Dockerfile` - не было замечено, что использование базового образа не оптимально, к примеру можно было использовать slim, так же можно было сослаться на более оптимизированный вариант образа на alpine-based - не было замечено, что можно использовать apt update && apt install для уменьшение слоев в OverlayFS, рекомендации - можно было удалить эту строчку, а так же надо не забывать про лишние файлы, которые могут создаться каждой командой и записаны в docker-образ. именно для этого обычно используют && ```Docker RUN apt-get -qq -y update && \ apt-get -qq -y upgrade && \ apt-get -qq -y install cowsay && \ apt-get -y autoclean && \ apt-get -y autoremove && \ rm -rf /var/lib/apt-get/lists/* && \ ln -s /usr/games/cowsay /usr/bin/cowsay ``` - не было замечено, что apt install tar это бесполезная операция в данном случае - было замечено, что `COPY data.tgz data.tgz` является лишней - не было замечено, что `COPY . ./` не оптимальная команда, которая каждый раз будет причиной билдинга образа из-за обновления кэша - не было замечено, что есть команда `ADD`, которая разархивировает `tar.gz` и добавляет их в файловую систему контейнера - было замечено, что можно использовать `CMD [ "python3", "csv_sum.py" ]` - для упрощения - `requirements.txt` - не было замечено, что можно удалить numpy - было замечено, что можно зафиксировать версию модуля python `pandas==***` - `makefile` - было замечено, что отсутствие комментариев - было замечено, что нешироко используемое название `makefile` - tessellation - решение не проходит тесты для `desk_size=[6, 7]` смотри описание для запуска проверки решения - о решении такого типа задач можно почитать статью [How good is the Warnsdorff’s knight’s tour heuristic?](https://arxiv.org/pdf/0803.4321.pdf) - в тоже время все переменные и функции хорошо названы, читаемость кода высокая, можно еще было добавить комментариев для функций, см. [рекомендации](https://google.github.io/styleguide/pyguide.html#383-functions-and-methods) - можно было бы попробовать использовать numpy для упрощения и ускорения некоторых операций с матрицами см. примеры в `test_solution.py`